|
Project Files
Preview
Filter
Open in Find Tool Win Project Files
Preview
Filter
Open in Find Tool Window
.e
.env .
.env.root .
.env.local .
.env.migrate .
.env.production .
.env.production-eu .
.env.nikilocal .
.env.qa .
.env.staging .
.env.circleci .
.env.circleci-nightly .
.env.other .
.env.qai .
.editorconfig .
.env.staging .circleci/backend-code
… more
.env .
.env.root .
.env.local .
.env.migrate .
.env.production .
.env.production-eu .
.env.nikilocal .
.env.qa .
.env.staging .
.env.circleci .
.env.circleci-nightly .
.env.other .
.env.qai .
.editorconfig .
.env.staging .circleci/backend-code
… more
.env
Open In Right Split...
|
PhpStorm
|
|
NULL
|
77055
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=local
[ENV_SECRET]
APP_DEBUG=true
LOG_CHANNEL=single
LOG_LEVEL=info
APP_URL=https://app.dev.jiminny.com
AWS_DEFAULT_REGION=us-east-2
SECURITY_HEADER_CUSTOM_CSP=
DB_CONNECTION=mysql
DB_HOST=mariadb
#DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=jmnyadmin
[ENV_SECRET]
#DB_ADMIN_USERNAME=jmnyadmin
#[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
#CASHIER_MODEL=Jiminny\Models\Userhubs
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
GITHUB_TOKEN=null
#REDIS_CLIENT=predis
REDIS_CLIENT=phpredis
REDIS_HOST=redis
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=
SENTRY_DSN_CONFERENCE=
SENTRY_DSN_FRONT_END=
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=bafe4191da0a8e
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=dev.jiminny.com
[ENV_SECRET]
POSTMARK_RECIPIENT_OVERRIDE=[EMAIL]
#APP_LOCAL_URL=https://lukask.ngrok.io
TUNNEL_HOST=https://qatest:[EMAIL]
OUTLOOK_URL=https://outlook.dev.jiminny.com
SLUG_URL=https://app.dev.jiminny.com
PUSHER_APP_ID=274174
[ENV_SECRET]
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
PUSHER_BOT_APP_ID=1195245
[ENV_SECRET]
[ENV_SECRET]
PUSHER_BOT_APP_CLUSTER=us2
[ENV_SECRET]
[ENV_SECRET]
INTERCOM_TOKEN=qwerty
[ENV_SECRET]
[ENV_SECRET]
LOGROCKET_CONFERENCE_ID=
LOGROCKET_APP_ID=
GA_CONFERENCE_ID=
GA_APP_ID=
GA_EXPORT_ID=
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.dev.jiminny.com
SESSION_SECURE_COOKIE=true
#TWILIO_ACCOUNT_SID=AC8a9a88fe598ee6154f5ed1623dbc9071
#[ENV_SECRET]
TWILIO_ACCOUNT_SID=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_ACCOUNT_SID_JIMINNY=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_CONFERENCE_SID_JIMINNY=AP0a007686d097167aa2824a5e19796d80
TWILIO_SOFTPHONE_SID_JIMINNY=AP2fb6719cbf17337398cf48b4a0f3e17d
[ENV_SECRET]
[ENV_SECRET]
TWILIO_MESSAGING_SERVICE_ID=MG045f4e1b7ff9496254c0085d28ce965b
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://jmny-dev-ed.my.salesforce.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_REDIRECT_URI=https://lukask.ngrok.io/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read oauth"
#HUBSPOT_SCOPE="crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.objects.owners.read crm.schemas.companies.read crm.schemas.contacts.read crm.schemas.deals.read oauth"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
#[ENV_SECRET]
#[ENV_SECRET]
#HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_SCOPE="timeline"
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
#[ENV_SECRET]
#[ENV_SECRET]
#AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
#AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.dev.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,commands,dnd:read,groups:read,im:read,im:write,incoming-webhook,mpim:read,mpim:write,usergroups:read,users.profile:read,users:read,users:read.email"
[ENV_SECRET]
SLACK_APP_ID=A5YUTRUNP
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/google
GOOGLE_SCOPE="email openid profile https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.readonly"
[ENV_SECRET]
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/office
#MICROSOFT_OFFICE_SCOPE="Calendars.ReadWrite"
MICROSOFT_OFFICE_SCOPE="https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/OnlineMeetings.Read openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
[ENV_SECRET]
ZOOM_SCOPE=""
ZOOM_APP_ID=
[ENV_SECRET]
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
#
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&action=Login&username={username}&password=[PASSWORD] redirect_uri}&state={recommended state value}
#https://auth.bullhornstaffing.com/oauth/token?grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={optional redirect_uri}
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&redirect_uri={optional redirect_uri}&state={recommended state value} *
#The user enters a valid Bullhorn username/password combination and clicks the Login button. A Terms of Service page is displayed. * User clicks the Agree button to accept the terms of service. *
#The page is redirected to the redirect URI with a code query parameter on the URL. The code value is the authorization code required to get an access token, which you use to get a Bullhorn session key required for REST API calls
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
# This ID is unique to the environment and need replacing after unpacking the extension
CHROME_WEB_STORE_EXT_ID=bnmndkpglijpoppflcmccddnacidanap
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=us-east-2
S3_CLIENT_DATA_BUCKET=dev.jiminny.client-data
S3_CLIENT_DATA_CLOUD_FRONT_HOST=media.app.dev.jiminny.com
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://media.app.dev.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.dev.jiminny.com'
#[ENV_SECRET]
#[ENV_SECRET]
#S3_CLIENT_DATA_REGION=eu-central-1
#S3_CLIENT_DATA_BUCKET=https://amazon-connect-b3d2d6755094
PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9080
#PROPHET_AI_WRAPPER_URL=https://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=https://prophet.staging.jiminny.com
PROPHET_AI_WRAPPER_TIMEOUT=600
FILESYSTEM_DRIVER=client-data-cloud
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
SQS_PREFIX=
SQS_QUEUE=
SQS_REGION=
KINESIS_AWS_REGION=
[ENV_SECRET]
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=
GOOGLE_TEXT_RELAY_MAILBOX=
GOOGLE_TEXT_RELAY_HOST=
GOOGLE_TEXT_RELAY_TOPIC=
GOOGLE_TEXT_RELAY_SUBSCRIPTION=
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://app.dev.jiminny.com/
[ENV_SECRET]
SES_REGION=
BUILD_NUMBER=_BUILD_NUMBER
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
BROWSERSTACK_USERNAME=thomaslavery1
[ENV_SECRET]
BROWSERSTACK_SERVER=hub-cloud.browserstack.com
TRANSCRIPTION_PROVIDER_REMEETING_BASEURL=https://api.remeeting.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_BASEURL=https://enterprise-api.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_AUTH_USERNAME=f414440ba1a9027b0a44dcf22b92ef91
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_BASEURL=https://brain.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_AUTH_USERNAME=[EMAIL]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_SPEECHMATICS_BASEURL=https://asr.api.speechmatics.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_IBM_BASEURL=
[ENV_SECRET]
MEDIA_LIVE_AWS_REGION=
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=
MEDIA_LIVE_ACCESS_ROLE=
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=
MEDIA_LIVE_S3_BUCKET=
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
#[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=arn:aws:iam::438740370364:policy/jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
TRANSCRIPTION_SUMMARY_PROVIDER_WORDCAB_BASEURL=https://wordcab.com/api
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# should be equal accross instances
[ENV_SECRET]
# comma-separated URLs for multiple instances to forward to
# HUBSPOT_WEBHOOK_FORWARD_URLS=nikolayn.ngrok.io
#HUBSPOT_WEBHOOK_FORWARD_URLS=https://app.qai.jiminny.com
HUBSPOT_WEBHOOK_FORWARD_URLS='https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#HUBSPOT_WEBHOOK_FORWARD_URLS='https://qatest:[EMAIL],https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#SAML_ENABLED=false
#
## SAML Contact Information
#SAML2_CONTACT_TECHNICAL_NAME="Technical Support"
#SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
#SAML2_CONTACT_SUPPORT_NAME="Support Team"
#SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
#
## SAML Organization Information
#SAML2_ORGANIZATION_NAME="Jiminny"
#SAML2_ORGANIZATION_URL="https://jiminny.com"
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder
Commands, folder
Activities, folder
Analytics, folder
Calendars, folder
Crm, folder
Hubspot, folder
IntegrationApp, folder
Traits, folder
AddLayoutEntities.php, class
AutologDelayedCommand.php, class
BullhornCommandAbstract.php, abstract class
BullhornPingCommand.php, class
BullhornSearchCommand.php, class
BullhornSessionCommand.php, class
CheckActivityLoggableCommand.php, final class
CleanDuplicateFieldDataCommand.php, class
FullSyncOpportunityCommand.php, class
LogActivitiesCommand.php, final class
ManageSyncStrategyCommand.php, class
MatchCrmObjectsCommand.php, class
MatchOpportunityActivitiesCommand.php, class
MigrateProvider.php, class
ProcessHubspotObjectsSyncBatches.php, class
PurgeDeletedOpportunitiesCommand.php, class...
|
PhpStorm
|
faVsco.js – .env
|
NULL
|
77056
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=local
[ENV_SECRET]
APP_DEBUG=true
LOG_CHANNEL=single
LOG_LEVEL=info
APP_URL=https://app.dev.jiminny.com
AWS_DEFAULT_REGION=us-east-2
SECURITY_HEADER_CUSTOM_CSP=
DB_CONNECTION=mysql
DB_HOST=mariadb
#DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=jmnyadmin
[ENV_SECRET]
#DB_ADMIN_USERNAME=jmnyadmin
#[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
#CASHIER_MODEL=Jiminny\Models\Userhubs
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
GITHUB_TOKEN=null
#REDIS_CLIENT=predis
REDIS_CLIENT=phpredis
REDIS_HOST=redis
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=
SENTRY_DSN_CONFERENCE=
SENTRY_DSN_FRONT_END=
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=bafe4191da0a8e
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=dev.jiminny.com
[ENV_SECRET]
POSTMARK_RECIPIENT_OVERRIDE=[EMAIL]
#APP_LOCAL_URL=https://lukask.ngrok.io
TUNNEL_HOST=https://qatest:[EMAIL]
OUTLOOK_URL=https://outlook.dev.jiminny.com
SLUG_URL=https://app.dev.jiminny.com
PUSHER_APP_ID=274174
[ENV_SECRET]
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
PUSHER_BOT_APP_ID=1195245
[ENV_SECRET]
[ENV_SECRET]
PUSHER_BOT_APP_CLUSTER=us2
[ENV_SECRET]
[ENV_SECRET]
INTERCOM_TOKEN=qwerty
[ENV_SECRET]
[ENV_SECRET]
LOGROCKET_CONFERENCE_ID=
LOGROCKET_APP_ID=
GA_CONFERENCE_ID=
GA_APP_ID=
GA_EXPORT_ID=
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.dev.jiminny.com
SESSION_SECURE_COOKIE=true
#TWILIO_ACCOUNT_SID=AC8a9a88fe598ee6154f5ed1623dbc9071
#[ENV_SECRET]
TWILIO_ACCOUNT_SID=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_ACCOUNT_SID_JIMINNY=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_CONFERENCE_SID_JIMINNY=AP0a007686d097167aa2824a5e19796d80
TWILIO_SOFTPHONE_SID_JIMINNY=AP2fb6719cbf17337398cf48b4a0f3e17d
[ENV_SECRET]
[ENV_SECRET]
TWILIO_MESSAGING_SERVICE_ID=MG045f4e1b7ff9496254c0085d28ce965b
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://jmny-dev-ed.my.salesforce.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_REDIRECT_URI=https://lukask.ngrok.io/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read oauth"
#HUBSPOT_SCOPE="crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.objects.owners.read crm.schemas.companies.read crm.schemas.contacts.read crm.schemas.deals.read oauth"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
#[ENV_SECRET]
#[ENV_SECRET]
#HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_SCOPE="timeline"
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
#[ENV_SECRET]
#[ENV_SECRET]
#AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
#AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.dev.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,commands,dnd:read,groups:read,im:read,im:write,incoming-webhook,mpim:read,mpim:write,usergroups:read,users.profile:read,users:read,users:read.email"
[ENV_SECRET]
SLACK_APP_ID=A5YUTRUNP
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/google
GOOGLE_SCOPE="email openid profile https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.readonly"
[ENV_SECRET]
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/office
#MICROSOFT_OFFICE_SCOPE="Calendars.ReadWrite"
MICROSOFT_OFFICE_SCOPE="https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/OnlineMeetings.Read openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
[ENV_SECRET]
ZOOM_SCOPE=""
ZOOM_APP_ID=
[ENV_SECRET]
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
#
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&action=Login&username={username}&password=[PASSWORD] redirect_uri}&state={recommended state value}
#https://auth.bullhornstaffing.com/oauth/token?grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={optional redirect_uri}
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&redirect_uri={optional redirect_uri}&state={recommended state value} *
#The user enters a valid Bullhorn username/password combination and clicks the Login button. A Terms of Service page is displayed. * User clicks the Agree button to accept the terms of service. *
#The page is redirected to the redirect URI with a code query parameter on the URL. The code value is the authorization code required to get an access token, which you use to get a Bullhorn session key required for REST API calls
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
# This ID is unique to the environment and need replacing after unpacking the extension
CHROME_WEB_STORE_EXT_ID=bnmndkpglijpoppflcmccddnacidanap
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=us-east-2
S3_CLIENT_DATA_BUCKET=dev.jiminny.client-data
S3_CLIENT_DATA_CLOUD_FRONT_HOST=media.app.dev.jiminny.com
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://media.app.dev.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.dev.jiminny.com'
#[ENV_SECRET]
#[ENV_SECRET]
#S3_CLIENT_DATA_REGION=eu-central-1
#S3_CLIENT_DATA_BUCKET=https://amazon-connect-b3d2d6755094
PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9080
#PROPHET_AI_WRAPPER_URL=https://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=https://prophet.staging.jiminny.com
PROPHET_AI_WRAPPER_TIMEOUT=600
FILESYSTEM_DRIVER=client-data-cloud
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
SQS_PREFIX=
SQS_QUEUE=
SQS_REGION=
KINESIS_AWS_REGION=
[ENV_SECRET]
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=
GOOGLE_TEXT_RELAY_MAILBOX=
GOOGLE_TEXT_RELAY_HOST=
GOOGLE_TEXT_RELAY_TOPIC=
GOOGLE_TEXT_RELAY_SUBSCRIPTION=
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://app.dev.jiminny.com/
[ENV_SECRET]
SES_REGION=
BUILD_NUMBER=_BUILD_NUMBER
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
BROWSERSTACK_USERNAME=thomaslavery1
[ENV_SECRET]
BROWSERSTACK_SERVER=hub-cloud.browserstack.com
TRANSCRIPTION_PROVIDER_REMEETING_BASEURL=https://api.remeeting.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_BASEURL=https://enterprise-api.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_AUTH_USERNAME=f414440ba1a9027b0a44dcf22b92ef91
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_BASEURL=https://brain.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_AUTH_USERNAME=[EMAIL]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_SPEECHMATICS_BASEURL=https://asr.api.speechmatics.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_IBM_BASEURL=
[ENV_SECRET]
MEDIA_LIVE_AWS_REGION=
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=
MEDIA_LIVE_ACCESS_ROLE=
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=
MEDIA_LIVE_S3_BUCKET=
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
#[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=arn:aws:iam::438740370364:policy/jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
TRANSCRIPTION_SUMMARY_PROVIDER_WORDCAB_BASEURL=https://wordcab.com/api
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# should be equal accross instances
[ENV_SECRET]
# comma-separated URLs for multiple instances to forward to
# HUBSPOT_WEBHOOK_FORWARD_URLS=nikolayn.ngrok.io
#HUBSPOT_WEBHOOK_FORWARD_URLS=https://app.qai.jiminny.com
HUBSPOT_WEBHOOK_FORWARD_URLS='https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#HUBSPOT_WEBHOOK_FORWARD_URLS='https://qatest:[EMAIL],https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#SAML_ENABLED=false
#
## SAML Contact Information
#SAML2_CONTACT_TECHNICAL_NAME="Technical Support"
#SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
#SAML2_CONTACT_SUPPORT_NAME="Support Team"
#SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
#
## SAML Organization Information
#SAML2_ORGANIZATION_NAME="Jiminny"
#SAML2_ORGANIZATION_URL="https://jiminny.com"
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder
Commands, folder
Activities, folder
Analytics, folder
Calendars, folder
Crm, folder
Hubspot, folder
IntegrationApp, folder
Traits, folder
AddLayoutEntities.php, class
AutologDelayedCommand.php, class
BullhornCommandAbstract.php, abstract class
BullhornPingCommand.php, class
BullhornSearchCommand.php, class
BullhornSessionCommand.php, class
CheckActivityLoggableCommand.php, final class
CleanDuplicateFieldDataCommand.php, class
FullSyncOpportunityCommand.php, class
LogActivitiesCommand.php, final class...
|
PhpStorm
|
faVsco.js – .env
|
NULL
|
77057
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
user
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
Built-in Preview
Chrome
Firefox
Safari
Sync Changes
Hide This Notification
Code changed:
Hide
33
Previous Highlighted Error
Next Highlighted Error
<?php
return [
'authy' => [
'secret' => env('AUTHY_SECRET'),
],
'github' => [
'token' => env('GITHUB_TOKEN'),
],
/*
|--------------------------------------------------------------------------
| Third Party Services
|--------------------------------------------------------------------------
|
| This file is for storing the credentials for third party services such
| as Mailgun, Postmark, AWS and more. This file provides the de facto
| location for this type of information, allowing packages to have
| a conventional file to locate the various service credentials.
|
*/
'mailgun' => [
'domain' => env('MAILGUN_DOMAIN'),
'secret' => env('MAILGUN_SECRET'),
'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'),
'scheme' => 'https',
],
'postmark' => [
'token' => env('POSTMARK_TOKEN'),
'recipient_override' => env('POSTMARK_RECIPIENT_OVERRIDE'),
],
'ses' => [
'key' => env('SES_ACCESS_KEY', env('AWS_ACCESS_KEY_ID')),
'secret' => env('SES_SECRET_KEY', env('AWS_SECRET_ACCESS_KEY')),
'region' => env('SES_REGION', env('AWS_DEFAULT_REGION', 'us-east-1')),
],
'salesforce' => [
'clientId' => env('SALESFORCE_KEY'),
'clientSecret' => env('SALESFORCE_SECRET'),
'redirectUri' => env('SALESFORCE_REDIRECT_URI'),
'scope' => env('SALESFORCE_SCOPE'),
],
'hubspot' => [
'clientId' => env('HUBSPOT_KEY'),
'clientSecret' => env('HUBSPOT_SECRET'),
'redirectUri' => env('HUBSPOT_REDIRECT_URI'),
'scope' => env('HUBSPOT_SCOPE'),
'app' => env('HUBSPOT_APP_ID'),
'webhook_forward_urls' => array_filter(
explode(',', env('HUBSPOT_WEBHOOK_FORWARD_URLS', ''))
),
'journalScope' => env('HUBSPOT_JOURNAL_SCOPE'),
],
'pipedrive' => [
'clientId' => env('PIPEDRIVE_KEY'),
'clientSecret' => env('PIPEDRIVE_SECRET'),
'redirectUri' => env('PIPEDRIVE_REDIRECT_URI'),
'redirectUrl' => env('PIPEDRIVE_REDIRECT_URI'), // Needed for the SDK.
'scope' => env('PIPEDRIVE_SCOPE'),
],
'salesloft' => [
'clientId' => env('SALESLOFT_KEY'),
'clientSecret' => env('SALESLOFT_SECRET'),
'redirectUri' => env('SALESLOFT_REDIRECT_URI'),
'scope' => env('SALESLOFT_SCOPE'),
],
'linkedin' => [
'clientId' => env('LINKEDIN_KEY'),
'clientSecret' => env('LINKEDIN_SECRET'),
'redirectUri' => env('LINKEDIN_REDIRECT_URI'),
'scope' => env('LINKEDIN_SCOPE'),
],
'linkedin-conference' => [
'clientId' => env('LINKEDIN_CONFERENCE_KEY'),
'clientSecret' => env('LINKEDIN_CONFERENCE_SECRET'),
'redirectUri' => env('LINKEDIN_CONFERENCE_REDIRECT_URI'),
'scope' => env('LINKEDIN_CONFERENCE_SCOPE'),
],
'slack' => [
'clientId' => env('SLACK_KEY'),
'clientSecret' => env('SLACK_SECRET'),
'redirectUri' => env('SLACK_REDIRECT_URI'),
'scope' => env('SLACK_SCOPE'),
'verificationToken' => env('SLACK_VERIFICATION_TOKEN'),
'appId' => env('SLACK_APP_ID'),
],
'google' => [
'clientId' => env('GOOGLE_KEY'),
'clientSecret' => env('GOOGLE_SECRET'),
'redirectUri' => env('GOOGLE_REDIRECT_URI'),
'scope' => env('GOOGLE_SCOPE'),
'mapKey' => env('GOOGLE_MAP_KEY'),
],
'office' => [
'clientId' => env('MICROSOFT_OFFICE_KEY'),
'clientSecret' => env('MICROSOFT_OFFICE_SECRET'),
'redirectUri' => env('MICROSOFT_OFFICE_REDIRECT_URI'),
'scope' => env('MICROSOFT_OFFICE_SCOPE'),
],
'twilio' => [
'masterSid' => env('TWILIO_ACCOUNT_SID'),
'masterKey' => env('TWILIO_AUTH_TOKEN'),
'messagingServiceSid' => env('TWILIO_MESSAGING_SERVICE_ID'),
],
'pusher' => [
'key' => env('PUSHER_APP_KEY'),
'secret' => env('PUSHER_APP_SECRET'),
'app' => env('PUSHER_APP_ID'),
'cluster' => env('PUSHER_APP_CLUSTER'),
],
'intercom' => [
'access_token' => env('INTERCOM_TOKEN'),
'token' => env('INTERCOM_TOKEN'),
],
'circleci' => [
'token' => env('CIRCLECI_TOKEN'),
],
'planhat' => [
'enabled' => env('PLANHAT_ENABLED', false),
'jiminnyJWT' => env('PLANHAT_JIMINNY_JWT'),
'tenantUuid' => env('PLANHAT_TENANT_UUID'),
'apiRoute' => 'https://api-eu3.planhat.com/',
'analyticsApiRoute' => 'https://analytics.planhat.com/',
],
'outreach' => [
'clientId' => env('OUTREACH_APP_ID'),
'clientSecret' => env('OUTREACH_SECRET'),
'redirectUri' => env('OUTREACH_REDIRECT_URI'),
'scope' => env('OUTREACH_SCOPE'),
],
'zoom-phone' => [
'clientId' => env('ZOOM_PHONE_APP_ID'),
'clientSecret' => env('ZOOM_PHONE_SECRET'),
'redirectUri' => env('ZOOM_PHONE_REDIRECT_URI'),
'scope' => env('ZOOM_PHONE_SCOPE'),
'secretToken' => env('ZOOM_PHONE_SECRET_TOKEN'),
],
// fallback to zoom-bot
'zoom-bot' => [
'clientId' => env('ZOOM_BOT_APP_ID'),
'clientSecret' => env('ZOOM_BOT_SECRET'),
'webhookSecret' => env('ZOOM_BOT_SECRET_TOKEN'),
'redirectUri' => env('ZOOM_BOT_REDIRECT_URI'),
'scope' => env('ZOOM_BOT_SCOPE'),
],
'ms-teams' => [
'complianceBotHost' => env('TEAMS_COMPLIANCE_BOT_HOST'),
'complianceBotSecret' => env('TEAMS_COMPLIANCE_BOT_SECRET'),
],
'aircall' => [
'clientId' => env('AIRCALL_KEY'),
'clientSecret' => env('AIRCALL_SECRET'),
'redirectUri' => env('AIRCALL_REDIRECT_URI'),
'scope' => env('AIRCALL_SCOPE'),
'verificationToken' => env('AIRCALL_VERIFICATION_TOKEN'),
],
'bullhorn' => [
'clientId' => env('BULLHORN_CLIENT_ID'),
'clientSecret' => env('BULLHORN_SECRET'),
'redirectUri' => env('BULLHORN_REDIRECT_URI'),
'scope' => env('BULLHORN_SCOPE'),
'sessionTtl' => env('BULLHORN_SESSION_TTL'),
'heartbeatInterval' => env('BULLHORN_HEARTBEAT_INTERVAL'),
'retryDelays' => env('BULLHORN_RETRY_DELAYS'),
'queueDelays' => env('BULLHORN_QUEUE_DELAYS'),
],
'ringcentral' => [
'clientId' => env('RINGCENTRAL_KEY'),
'clientSecret' => env('RINGCENTRAL_SECRET'),
'redirectUri' => env('RINGCENTRAL_REDIRECT_URI'),
'scope' => env('RINGCENTRAL_SCOPE'),
'devMode' => env('APP_ENV') !== 'production',
],
// Avaya by RingCentral, accessible via the same API
'avaya' => [
'clientId' => env('RINGCENTRAL_KEY'),
'clientSecret' => env('RINGCENTRAL_SECRET'),
'redirectUri' => env('AVAYA_REDIRECT_URI'),
'scope' => env('RINGCENTRAL_SCOPE'),
'devMode' => env('APP_ENV') !== 'production',
],
'telus' => [
'clientId' => env('RINGCENTRAL_KEY'),
'clientSecret' => env('RINGCENTRAL_SECRET'),
'redirectUri' => env('TELUS_REDIRECT_URI'),
'scope' => env('RINGCENTRAL_SCOPE'),
'devMode' => env('APP_ENV') !== 'production',
],
'dialpad' => [
'clientId' => env('DIALPAD_KEY'),
'clientSecret' => env('DIALPAD_SECRET'),
'redirectUri' => env('DIALPAD_REDIRECT_URI'),
'scope' => env('DIALPAD_SCOPE'),
'isSandbox' => env('APP_ENV') !== 'production',
'secret' => env('DIALPAD_VERIFICATION_TOKEN'),
],
'talkdesk' => [
'clientId' => env('TALKDESK_APP_ID'),
'clientSecret' => env('TALKDESK_SECRET'),
'redirectUri' => env('TALKDESK_REDIRECT_URI'),
'scope' => env('TALKDESK_SCOPE'),
'subdomain' => env('TALKDESK_SUBDOMAIN'),
'region' => env('TALKDESK_REGION'),
],
'live-feed' => [
'items' => env('LIVE_FEED_ENABLED_ITEMS', ''),
],
'assembly-ai' => [
'base_url' => env('AI_PROVIDER_ASSEMBLYAI_BASEURL'),
'bearer_token' => env('TRANSCRIPTION_PROVIDER_ASSEMBLYAI_TOKEN'),
],
'userpilot' => [
'key' => env('USERPILOT_KEY', ''),
'token' => env('USERPILOT_TOKEN', ''),
],
'recall-ai' => [
'apiUrl' => env('RECALL_AI_API_URL', ''),
'apiKey' => env('RECALL_AI_API_KEY', ''),
'webhookSecret' => env('RECALL_AI_WEBHOOK_SECRET', ''),
'zoomOauthAppId' => env('RECALL_AI_ZOOM_BOT_APP_ID', ''),
'zoomRegisteredEmail' => env('RECALL_AI_ZOOM_REGISTERED_EMAIL', ''),
],
'internal_webhook' => [
'secret' => env('INTERNAL_WEBHOOK_SECRET', ''),
],
];
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder...
|
PhpStorm
|
faVsco.js – services.php
|
NULL
|
77058
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
user
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
Built-in Preview
Chrome
Firefox
Safari
Sync Changes
Hide This Notification
Code changed:
Hide
33
Previous Highlighted Error
Next Highlighted Error
<?php
return [
'authy' => [
'secret' => env('AUTHY_SECRET'),
],
'github' => [
'token' => env('GITHUB_TOKEN'),
],
/*
|--------------------------------------------------------------------------
| Third Party Services
|--------------------------------------------------------------------------
|
| This file is for storing the credentials for third party services such
| as Mailgun, Postmark, AWS and more. This file provides the de facto
| location for this type of information, allowing packages to have
| a conventional file to locate the various service credentials.
|
*/
'mailgun' => [
'domain' => env('MAILGUN_DOMAIN'),
'secret' => env('MAILGUN_SECRET'),
'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'),
'scheme' => 'https',
],
'postmark' => [
'token' => env('POSTMARK_TOKEN'),
'recipient_override' => env('POSTMARK_RECIPIENT_OVERRIDE'),
],
'ses' => [
'key' => env('SES_ACCESS_KEY', env('AWS_ACCESS_KEY_ID')),
'secret' => env('SES_SECRET_KEY', env('AWS_SECRET_ACCESS_KEY')),
'region' => env('SES_REGION', env('AWS_DEFAULT_REGION', 'us-east-1')),
],
'salesforce' => [
'clientId' => env('SALESFORCE_KEY'),
'clientSecret' => env('SALESFORCE_SECRET'),
'redirectUri' => env('SALESFORCE_REDIRECT_URI'),
'scope' => env('SALESFORCE_SCOPE'),
],
'hubspot' => [
'clientId' => env('HUBSPOT_KEY'),
'clientSecret' => env('HUBSPOT_SECRET'),
'redirectUri' => env('HUBSPOT_REDIRECT_URI'),
'scope' => env('HUBSPOT_SCOPE'),
'app' => env('HUBSPOT_APP_ID'),
'webhook_forward_urls' => array_filter(
explode(',', env('HUBSPOT_WEBHOOK_FORWARD_URLS', ''))
),
'journalScope' => env('HUBSPOT_JOURNAL_SCOPE'),
],
'pipedrive' => [
'clientId' => env('PIPEDRIVE_KEY'),
'clientSecret' => env('PIPEDRIVE_SECRET'),
'redirectUri' => env('PIPEDRIVE_REDIRECT_URI'),
'redirectUrl' => env('PIPEDRIVE_REDIRECT_URI'), // Needed for the SDK.
'scope' => env('PIPEDRIVE_SCOPE'),
],
'salesloft' => [
'clientId' => env('SALESLOFT_KEY'),
'clientSecret' => env('SALESLOFT_SECRET'),
'redirectUri' => env('SALESLOFT_REDIRECT_URI'),
'scope' => env('SALESLOFT_SCOPE'),
],
'linkedin' => [
'clientId' => env('LINKEDIN_KEY'),
'clientSecret' => env('LINKEDIN_SECRET'),
'redirectUri' => env('LINKEDIN_REDIRECT_URI'),
'scope' => env('LINKEDIN_SCOPE'),
],
'linkedin-conference' => [
'clientId' => env('LINKEDIN_CONFERENCE_KEY'),
'clientSecret' => env('LINKEDIN_CONFERENCE_SECRET'),
'redirectUri' => env('LINKEDIN_CONFERENCE_REDIRECT_URI'),
'scope' => env('LINKEDIN_CONFERENCE_SCOPE'),
],
'slack' => [
'clientId' => env('SLACK_KEY'),
'clientSecret' => env('SLACK_SECRET'),
'redirectUri' => env('SLACK_REDIRECT_URI'),
'scope' => env('SLACK_SCOPE'),
'verificationToken' => env('SLACK_VERIFICATION_TOKEN'),
'appId' => env('SLACK_APP_ID'),
],
'google' => [
'clientId' => env('GOOGLE_KEY'),
'clientSecret' => env('GOOGLE_SECRET'),
'redirectUri' => env('GOOGLE_REDIRECT_URI'),
'scope' => env('GOOGLE_SCOPE'),
'mapKey' => env('GOOGLE_MAP_KEY'),
],
'office' => [
'clientId' => env('MICROSOFT_OFFICE_KEY'),
'clientSecret' => env('MICROSOFT_OFFICE_SECRET'),
'redirectUri' => env('MICROSOFT_OFFICE_REDIRECT_URI'),
'scope' => env('MICROSOFT_OFFICE_SCOPE'),
],
'twilio' => [
'masterSid' => env('TWILIO_ACCOUNT_SID'),
'masterKey' => env('TWILIO_AUTH_TOKEN'),
'messagingServiceSid' => env('TWILIO_MESSAGING_SERVICE_ID'),
],
'pusher' => [
'key' => env('PUSHER_APP_KEY'),
'secret' => env('PUSHER_APP_SECRET'),
'app' => env('PUSHER_APP_ID'),
'cluster' => env('PUSHER_APP_CLUSTER'),
],
'intercom' => [
'access_token' => env('INTERCOM_TOKEN'),
'token' => env('INTERCOM_TOKEN'),
],
'circleci' => [
'token' => env('CIRCLECI_TOKEN'),
],
'planhat' => [
'enabled' => env('PLANHAT_ENABLED', false),
'jiminnyJWT' => env('PLANHAT_JIMINNY_JWT'),
'tenantUuid' => env('PLANHAT_TENANT_UUID'),
'apiRoute' => 'https://api-eu3.planhat.com/',
'analyticsApiRoute' => 'https://analytics.planhat.com/',
],
'outreach' => [
'clientId' => env('OUTREACH_APP_ID'),
'clientSecret' => env('OUTREACH_SECRET'),
'redirectUri' => env('OUTREACH_REDIRECT_URI'),
'scope' => env('OUTREACH_SCOPE'),
],
'zoom-phone' => [
'clientId' => env('ZOOM_PHONE_APP_ID'),
'clientSecret' => env('ZOOM_PHONE_SECRET'),
'redirectUri' => env('ZOOM_PHONE_REDIRECT_URI'),
'scope' => env('ZOOM_PHONE_SCOPE'),
'secretToken' => env('ZOOM_PHONE_SECRET_TOKEN'),
],
// fallback to zoom-bot
'zoom-bot' => [
'clientId' => env('ZOOM_BOT_APP_ID'),
'clientSecret' => env('ZOOM_BOT_SECRET'),
'webhookSecret' => env('ZOOM_BOT_SECRET_TOKEN'),
'redirectUri' => env('ZOOM_BOT_REDIRECT_URI'),
'scope' => env('ZOOM_BOT_SCOPE'),
],
'ms-teams' => [
'complianceBotHost' => env('TEAMS_COMPLIANCE_BOT_HOST'),
'complianceBotSecret' => env('TEAMS_COMPLIANCE_BOT_SECRET'),
],
'aircall' => [
'clientId' => env('AIRCALL_KEY'),
'clientSecret' => env('AIRCALL_SECRET'),
'redirectUri' => env('AIRCALL_REDIRECT_URI'),
'scope' => env('AIRCALL_SCOPE'),
'verificationToken' => env('AIRCALL_VERIFICATION_TOKEN'),
],
'bullhorn' => [
'clientId' => env('BULLHORN_CLIENT_ID'),
'clientSecret' => env('BULLHORN_SECRET'),
'redirectUri' => env('BULLHORN_REDIRECT_URI'),
'scope' => env('BULLHORN_SCOPE'),
'sessionTtl' => env('BULLHORN_SESSION_TTL'),
'heartbeatInterval' => env('BULLHORN_HEARTBEAT_INTERVAL'),
'retryDelays' => env('BULLHORN_RETRY_DELAYS'),
'queueDelays' => env('BULLHORN_QUEUE_DELAYS'),
],
'ringcentral' => [
'clientId' => env('RINGCENTRAL_KEY'),
'clientSecret' => env('RINGCENTRAL_SECRET'),
'redirectUri' => env('RINGCENTRAL_REDIRECT_URI'),
'scope' => env('RINGCENTRAL_SCOPE'),
'devMode' => env('APP_ENV') !== 'production',
],
// Avaya by RingCentral, accessible via the same API
'avaya' => [
'clientId' => env('RINGCENTRAL_KEY'),
'clientSecret' => env('RINGCENTRAL_SECRET'),
'redirectUri' => env('AVAYA_REDIRECT_URI'),
'scope' => env('RINGCENTRAL_SCOPE'),
'devMode' => env('APP_ENV') !== 'production',
],
'telus' => [
'clientId' => env('RINGCENTRAL_KEY'),
'clientSecret' => env('RINGCENTRAL_SECRET'),
'redirectUri' => env('TELUS_REDIRECT_URI'),
'scope' => env('RINGCENTRAL_SCOPE'),
'devMode' => env('APP_ENV') !== 'production',
],
'dialpad' => [
'clientId' => env('DIALPAD_KEY'),
'clientSecret' => env('DIALPAD_SECRET'),
'redirectUri' => env('DIALPAD_REDIRECT_URI'),
'scope' => env('DIALPAD_SCOPE'),
'isSandbox' => env('APP_ENV') !== 'production',
'secret' => env('DIALPAD_VERIFICATION_TOKEN'),
],
'talkdesk' => [
'clientId' => env('TALKDESK_APP_ID'),
'clientSecret' => env('TALKDESK_SECRET'),
'redirectUri' => env('TALKDESK_REDIRECT_URI'),
'scope' => env('TALKDESK_SCOPE'),
'subdomain' => env('TALKDESK_SUBDOMAIN'),
'region' => env('TALKDESK_REGION'),
],
'live-feed' => [
'items' => env('LIVE_FEED_ENABLED_ITEMS', ''),
],
'assembly-ai' => [
'base_url' => env('AI_PROVIDER_ASSEMBLYAI_BASEURL'),
'bearer_token' => env('TRANSCRIPTION_PROVIDER_ASSEMBLYAI_TOKEN'),
],
'userpilot' => [
'key' => env('USERPILOT_KEY', ''),
'token' => env('USERPILOT_TOKEN', ''),
],
'recall-ai' => [
'apiUrl' => env('RECALL_AI_API_URL', ''),
'apiKey' => env('RECALL_AI_API_KEY', ''),
'webhookSecret' => env('RECALL_AI_WEBHOOK_SECRET', ''),
'zoomOauthAppId' => env('RECALL_AI_ZOOM_BOT_APP_ID', ''),
'zoomRegisteredEmail' => env('RECALL_AI_ZOOM_REGISTERED_EMAIL', ''),
],
'internal_webhook' => [
'secret' => env('INTERNAL_WEBHOOK_SECRET', ''),
],
];
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder...
|
PhpStorm
|
faVsco.js – services.php
|
NULL
|
77059
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
user
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
Built-in Preview
Chrome
Firefox
Safari
Sync Changes
Hide This Notification
Code changed:
Hide
33
Previous Highlighted Error
Next Highlighted Error
<?php
return [
'authy' => [
'secret' => env('AUTHY_SECRET'),
],
'github' => [
'token' => env('GITHUB_TOKEN'),
],
/*
|--------------------------------------------------------------------------
| Third Party Services
|--------------------------------------------------------------------------
|
| This file is for storing the credentials for third party services such
| as Mailgun, Postmark, AWS and more. This file provides the de facto
| location for this type of information, allowing packages to have
| a conventional file to locate the various service credentials.
|
*/
'mailgun' => [
'domain' => env('MAILGUN_DOMAIN'),
'secret' => env('MAILGUN_SECRET'),
'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'),
'scheme' => 'https',
],
'postmark' => [
'token' => env('POSTMARK_TOKEN'),
'recipient_override' => env('POSTMARK_RECIPIENT_OVERRIDE'),
],
'ses' => [
'key' => env('SES_ACCESS_KEY', env('AWS_ACCESS_KEY_ID')),
'secret' => env('SES_SECRET_KEY', env('AWS_SECRET_ACCESS_KEY')),
'region' => env('SES_REGION', env('AWS_DEFAULT_REGION', 'us-east-1')),
],
'salesforce' => [
'clientId' => env('SALESFORCE_KEY'),
'clientSecret' => env('SALESFORCE_SECRET'),
'redirectUri' => env('SALESFORCE_REDIRECT_URI'),
'scope' => env('SALESFORCE_SCOPE'),
],
'hubspot' => [
'clientId' => env('HUBSPOT_KEY'),
'clientSecret' => env('HUBSPOT_SECRET'),
'redirectUri' => env('HUBSPOT_REDIRECT_URI'),
'scope' => env('HUBSPOT_SCOPE'),
'app' => env('HUBSPOT_APP_ID'),
'webhook_forward_urls' => array_filter(
explode(',', env('HUBSPOT_WEBHOOK_FORWARD_URLS', ''))
),
'journalScope' => env('HUBSPOT_JOURNAL_SCOPE'),
],
'pipedrive' => [
'clientId' => env('PIPEDRIVE_KEY'),
'clientSecret' => env('PIPEDRIVE_SECRET'),
'redirectUri' => env('PIPEDRIVE_REDIRECT_URI'),
'redirectUrl' => env('PIPEDRIVE_REDIRECT_URI'), // Needed for the SDK.
'scope' => env('PIPEDRIVE_SCOPE'),
],
'salesloft' => [
'clientId' => env('SALESLOFT_KEY'),
'clientSecret' => env('SALESLOFT_SECRET'),
'redirectUri' => env('SALESLOFT_REDIRECT_URI'),
'scope' => env('SALESLOFT_SCOPE'),
],
'linkedin' => [
'clientId' => env('LINKEDIN_KEY'),
'clientSecret' => env('LINKEDIN_SECRET'),
'redirectUri' => env('LINKEDIN_REDIRECT_URI'),
'scope' => env('LINKEDIN_SCOPE'),
],
'linkedin-conference' => [
'clientId' => env('LINKEDIN_CONFERENCE_KEY'),
'clientSecret' => env('LINKEDIN_CONFERENCE_SECRET'),
'redirectUri' => env('LINKEDIN_CONFERENCE_REDIRECT_URI'),
'scope' => env('LINKEDIN_CONFERENCE_SCOPE'),
],
'slack' => [
'clientId' => env('SLACK_KEY'),
'clientSecret' => env('SLACK_SECRET'),
'redirectUri' => env('SLACK_REDIRECT_URI'),
'scope' => env('SLACK_SCOPE'),
'verificationToken' => env('SLACK_VERIFICATION_TOKEN'),
'appId' => env('SLACK_APP_ID'),
],
'google' => [
'clientId' => env('GOOGLE_KEY'),
'clientSecret' => env('GOOGLE_SECRET'),
'redirectUri' => env('GOOGLE_REDIRECT_URI'),
'scope' => env('GOOGLE_SCOPE'),
'mapKey' => env('GOOGLE_MAP_KEY'),
],
'office' => [
'clientId' => env('MICROSOFT_OFFICE_KEY'),
'clientSecret' => env('MICROSOFT_OFFICE_SECRET'),
'redirectUri' => env('MICROSOFT_OFFICE_REDIRECT_URI'),
'scope' => env('MICROSOFT_OFFICE_SCOPE'),
],
'twilio' => [
'masterSid' => env('TWILIO_ACCOUNT_SID'),
'masterKey' => env('TWILIO_AUTH_TOKEN'),
'messagingServiceSid' => env('TWILIO_MESSAGING_SERVICE_ID'),
],
'pusher' => [
'key' => env('PUSHER_APP_KEY'),
'secret' => env('PUSHER_APP_SECRET'),
'app' => env('PUSHER_APP_ID'),
'cluster' => env('PUSHER_APP_CLUSTER'),
],
'intercom' => [
'access_token' => env('INTERCOM_TOKEN'),
'token' => env('INTERCOM_TOKEN'),
],
'circleci' => [
'token' => env('CIRCLECI_TOKEN'),
],
'planhat' => [
'enabled' => env('PLANHAT_ENABLED', false),
'jiminnyJWT' => env('PLANHAT_JIMINNY_JWT'),
'tenantUuid' => env('PLANHAT_TENANT_UUID'),
'apiRoute' => 'https://api-eu3.planhat.com/',
'analyticsApiRoute' => 'https://analytics.planhat.com/',
],
'outreach' => [
'clientId' => env('OUTREACH_APP_ID'),
'clientSecret' => env('OUTREACH_SECRET'),
'redirectUri' => env('OUTREACH_REDIRECT_URI'),
'scope' => env('OUTREACH_SCOPE'),
],
'zoom-phone' => [
'clientId' => env('ZOOM_PHONE_APP_ID'),
'clientSecret' => env('ZOOM_PHONE_SECRET'),
'redirectUri' => env('ZOOM_PHONE_REDIRECT_URI'),
'scope' => env('ZOOM_PHONE_SCOPE'),
'secretToken' => env('ZOOM_PHONE_SECRET_TOKEN'),
],
// fallback to zoom-bot
'zoom-bot' => [
'clientId' => env('ZOOM_BOT_APP_ID'),
'clientSecret' => env('ZOOM_BOT_SECRET'),
'webhookSecret' => env('ZOOM_BOT_SECRET_TOKEN'),
'redirectUri' => env('ZOOM_BOT_REDIRECT_URI'),
'scope' => env('ZOOM_BOT_SCOPE'),
],
'ms-teams' => [
'complianceBotHost' => env('TEAMS_COMPLIANCE_BOT_HOST'),
'complianceBotSecret' => env('TEAMS_COMPLIANCE_BOT_SECRET'),
],
'aircall' => [
'clientId' => env('AIRCALL_KEY'),
'clientSecret' => env('AIRCALL_SECRET'),
'redirectUri' => env('AIRCALL_REDIRECT_URI'),
'scope' => env('AIRCALL_SCOPE'),
'verificationToken' => env('AIRCALL_VERIFICATION_TOKEN'),
],
'bullhorn' => [
'clientId' => env('BULLHORN_CLIENT_ID'),
'clientSecret' => env('BULLHORN_SECRET'),
'redirectUri' => env('BULLHORN_REDIRECT_URI'),
'scope' => env('BULLHORN_SCOPE'),
'sessionTtl' => env('BULLHORN_SESSION_TTL'),
'heartbeatInterval' => env('BULLHORN_HEARTBEAT_INTERVAL'),
'retryDelays' => env('BULLHORN_RETRY_DELAYS'),
'queueDelays' => env('BULLHORN_QUEUE_DELAYS'),
],
'ringcentral' => [
'clientId' => env('RINGCENTRAL_KEY'),
'clientSecret' => env('RINGCENTRAL_SECRET'),
'redirectUri' => env('RINGCENTRAL_REDIRECT_URI'),
'scope' => env('RINGCENTRAL_SCOPE'),
'devMode' => env('APP_ENV') !== 'production',
],
// Avaya by RingCentral, accessible via the same API
'avaya' => [
'clientId' => env('RINGCENTRAL_KEY'),
'clientSecret' => env('RINGCENTRAL_SECRET'),
'redirectUri' => env('AVAYA_REDIRECT_URI'),
'scope' => env('RINGCENTRAL_SCOPE'),
'devMode' => env('APP_ENV') !== 'production',
],
'telus' => [
'clientId' => env('RINGCENTRAL_KEY'),
'clientSecret' => env('RINGCENTRAL_SECRET'),
'redirectUri' => env('TELUS_REDIRECT_URI'),
'scope' => env('RINGCENTRAL_SCOPE'),
'devMode' => env('APP_ENV') !== 'production',
],
'dialpad' => [
'clientId' => env('DIALPAD_KEY'),
'clientSecret' => env('DIALPAD_SECRET'),
'redirectUri' => env('DIALPAD_REDIRECT_URI'),
'scope' => env('DIALPAD_SCOPE'),
'isSandbox' => env('APP_ENV') !== 'production',
'secret' => env('DIALPAD_VERIFICATION_TOKEN'),
],
'talkdesk' => [
'clientId' => env('TALKDESK_APP_ID'),
'clientSecret' => env('TALKDESK_SECRET'),
'redirectUri' => env('TALKDESK_REDIRECT_URI'),
'scope' => env('TALKDESK_SCOPE'),
'subdomain' => env('TALKDESK_SUBDOMAIN'),
'region' => env('TALKDESK_REGION'),
],
'live-feed' => [
'items' => env('LIVE_FEED_ENABLED_ITEMS', ''),
],
'assembly-ai' => [
'base_url' => env('AI_PROVIDER_ASSEMBLYAI_BASEURL'),
'bearer_token' => env('TRANSCRIPTION_PROVIDER_ASSEMBLYAI_TOKEN'),
],
'userpilot' => [
'key' => env('USERPILOT_KEY', ''),
'token' => env('USERPILOT_TOKEN', ''),
],
'recall-ai' => [
'apiUrl' => env('RECALL_AI_API_URL', ''),
'apiKey' => env('RECALL_AI_API_KEY', ''),
'webhookSecret' => env('RECALL_AI_WEBHOOK_SECRET', ''),
'zoomOauthAppId' => env('RECALL_AI_ZOOM_BOT_APP_ID', ''),
'zoomRegisteredEmail' => env('RECALL_AI_ZOOM_REGISTERED_EMAIL', ''),
],
'internal_webhook' => [
'secret' => env('INTERNAL_WEBHOOK_SECRET', ''),
],
];
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder
Commands, folder
Activities, folder
Analytics, folder
Calendars, folder
Crm, folder
Hubspot, folder
IntegrationApp, folder
Traits, folder
AddLayoutEntities.php, class
AutologDelayedCommand.php, class
BullhornCommandAbstract.php, abstract class
BullhornPingCommand.php, class...
|
PhpStorm
|
faVsco.js – services.php
|
NULL
|
77060
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
user
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
Built-in Preview
Chrome
Firefox
Safari
Sync Changes
Hide This Notification
Code changed:
Hide
33
Previous Highlighted Error
Next Highlighted Error
<?php
return [
'authy' => [
'secret' => env('AUTHY_SECRET'),
],
'github' => [
'token' => env('GITHUB_TOKEN'),
],
/*
|--------------------------------------------------------------------------
| Third Party Services
|--------------------------------------------------------------------------
|
| This file is for storing the credentials for third party services such
| as Mailgun, Postmark, AWS and more. This file provides the de facto
| location for this type of information, allowing packages to have
| a conventional file to locate the various service credentials.
|
*/
'mailgun' => [
'domain' => env('MAILGUN_DOMAIN'),
'secret' => env('MAILGUN_SECRET'),
'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'),
'scheme' => 'https',
],
'postmark' => [
'token' => env('POSTMARK_TOKEN'),
'recipient_override' => env('POSTMARK_RECIPIENT_OVERRIDE'),
],
'ses' => [
'key' => env('SES_ACCESS_KEY', env('AWS_ACCESS_KEY_ID')),
'secret' => env('SES_SECRET_KEY', env('AWS_SECRET_ACCESS_KEY')),
'region' => env('SES_REGION', env('AWS_DEFAULT_REGION', 'us-east-1')),
],
'salesforce' => [
'clientId' => env('SALESFORCE_KEY'),
'clientSecret' => env('SALESFORCE_SECRET'),
'redirectUri' => env('SALESFORCE_REDIRECT_URI'),
'scope' => env('SALESFORCE_SCOPE'),
],
'hubspot' => [
'clientId' => env('HUBSPOT_KEY'),
'clientSecret' => env('HUBSPOT_SECRET'),
'redirectUri' => env('HUBSPOT_REDIRECT_URI'),
'scope' => env('HUBSPOT_SCOPE'),
'app' => env('HUBSPOT_APP_ID'),
'webhook_forward_urls' => array_filter(
explode(',', env('HUBSPOT_WEBHOOK_FORWARD_URLS', ''))
),
'journalScope' => env('HUBSPOT_JOURNAL_SCOPE'),
],
'pipedrive' => [
'clientId' => env('PIPEDRIVE_KEY'),
'clientSecret' => env('PIPEDRIVE_SECRET'),
'redirectUri' => env('PIPEDRIVE_REDIRECT_URI'),
'redirectUrl' => env('PIPEDRIVE_REDIRECT_URI'), // Needed for the SDK.
'scope' => env('PIPEDRIVE_SCOPE'),
],
'salesloft' => [
'clientId' => env('SALESLOFT_KEY'),
'clientSecret' => env('SALESLOFT_SECRET'),
'redirectUri' => env('SALESLOFT_REDIRECT_URI'),
'scope' => env('SALESLOFT_SCOPE'),
],
'linkedin' => [
'clientId' => env('LINKEDIN_KEY'),
'clientSecret' => env('LINKEDIN_SECRET'),
'redirectUri' => env('LINKEDIN_REDIRECT_URI'),
'scope' => env('LINKEDIN_SCOPE'),
],
'linkedin-conference' => [
'clientId' => env('LINKEDIN_CONFERENCE_KEY'),
'clientSecret' => env('LINKEDIN_CONFERENCE_SECRET'),
'redirectUri' => env('LINKEDIN_CONFERENCE_REDIRECT_URI'),
'scope' => env('LINKEDIN_CONFERENCE_SCOPE'),
],
'slack' => [
'clientId' => env('SLACK_KEY'),
'clientSecret' => env('SLACK_SECRET'),
'redirectUri' => env('SLACK_REDIRECT_URI'),
'scope' => env('SLACK_SCOPE'),
'verificationToken' => env('SLACK_VERIFICATION_TOKEN'),
'appId' => env('SLACK_APP_ID'),
],
'google' => [
'clientId' => env('GOOGLE_KEY'),
'clientSecret' => env('GOOGLE_SECRET'),
'redirectUri' => env('GOOGLE_REDIRECT_URI'),
'scope' => env('GOOGLE_SCOPE'),
'mapKey' => env('GOOGLE_MAP_KEY'),
],
'office' => [
'clientId' => env('MICROSOFT_OFFICE_KEY'),
'clientSecret' => env('MICROSOFT_OFFICE_SECRET'),
'redirectUri' => env('MICROSOFT_OFFICE_REDIRECT_URI'),
'scope' => env('MICROSOFT_OFFICE_SCOPE'),
],
'twilio' => [
'masterSid' => env('TWILIO_ACCOUNT_SID'),
'masterKey' => env('TWILIO_AUTH_TOKEN'),
'messagingServiceSid' => env('TWILIO_MESSAGING_SERVICE_ID'),
],
'pusher' => [
'key' => env('PUSHER_APP_KEY'),
'secret' => env('PUSHER_APP_SECRET'),
'app' => env('PUSHER_APP_ID'),
'cluster' => env('PUSHER_APP_CLUSTER'),
],
'intercom' => [
'access_token' => env('INTERCOM_TOKEN'),
'token' => env('INTERCOM_TOKEN'),
],
'circleci' => [
'token' => env('CIRCLECI_TOKEN'),
],
'planhat' => [
'enabled' => env('PLANHAT_ENABLED', false),
'jiminnyJWT' => env('PLANHAT_JIMINNY_JWT'),
'tenantUuid' => env('PLANHAT_TENANT_UUID'),
'apiRoute' => 'https://api-eu3.planhat.com/',
'analyticsApiRoute' => 'https://analytics.planhat.com/',
],
'outreach' => [
'clientId' => env('OUTREACH_APP_ID'),
'clientSecret' => env('OUTREACH_SECRET'),
'redirectUri' => env('OUTREACH_REDIRECT_URI'),
'scope' => env('OUTREACH_SCOPE'),
],
'zoom-phone' => [
'clientId' => env('ZOOM_PHONE_APP_ID'),
'clientSecret' => env('ZOOM_PHONE_SECRET'),
'redirectUri' => env('ZOOM_PHONE_REDIRECT_URI'),
'scope' => env('ZOOM_PHONE_SCOPE'),
'secretToken' => env('ZOOM_PHONE_SECRET_TOKEN'),
],
// fallback to zoom-bot
'zoom-bot' => [
'clientId' => env('ZOOM_BOT_APP_ID'),
'clientSecret' => env('ZOOM_BOT_SECRET'),
'webhookSecret' => env('ZOOM_BOT_SECRET_TOKEN'),
'redirectUri' => env('ZOOM_BOT_REDIRECT_URI'),
'scope' => env('ZOOM_BOT_SCOPE'),
],
'ms-teams' => [
'complianceBotHost' => env('TEAMS_COMPLIANCE_BOT_HOST'),
'complianceBotSecret' => env('TEAMS_COMPLIANCE_BOT_SECRET'),
],
'aircall' => [
'clientId' => env('AIRCALL_KEY'),
'clientSecret' => env('AIRCALL_SECRET'),
'redirectUri' => env('AIRCALL_REDIRECT_URI'),
'scope' => env('AIRCALL_SCOPE'),
'verificationToken' => env('AIRCALL_VERIFICATION_TOKEN'),
],
'bullhorn' => [
'clientId' => env('BULLHORN_CLIENT_ID'),
'clientSecret' => env('BULLHORN_SECRET'),
'redirectUri' => env('BULLHORN_REDIRECT_URI'),
'scope' => env('BULLHORN_SCOPE'),
'sessionTtl' => env('BULLHORN_SESSION_TTL'),
'heartbeatInterval' => env('BULLHORN_HEARTBEAT_INTERVAL'),
'retryDelays' => env('BULLHORN_RETRY_DELAYS'),
'queueDelays' => env('BULLHORN_QUEUE_DELAYS'),
],
'ringcentral' => [
'clientId' => env('RINGCENTRAL_KEY'),
'clientSecret' => env('RINGCENTRAL_SECRET'),
'redirectUri' => env('RINGCENTRAL_REDIRECT_URI'),
'scope' => env('RINGCENTRAL_SCOPE'),
'devMode' => env('APP_ENV') !== 'production',
],
// Avaya by RingCentral, accessible via the same API
'avaya' => [
'clientId' => env('RINGCENTRAL_KEY'),
'clientSecret' => env('RINGCENTRAL_SECRET'),
'redirectUri' => env('AVAYA_REDIRECT_URI'),
'scope' => env('RINGCENTRAL_SCOPE'),
'devMode' => env('APP_ENV') !== 'production',
],
'telus' => [
'clientId' => env('RINGCENTRAL_KEY'),
'clientSecret' => env('RINGCENTRAL_SECRET'),
'redirectUri' => env('TELUS_REDIRECT_URI'),
'scope' => env('RINGCENTRAL_SCOPE'),
'devMode' => env('APP_ENV') !== 'production',
],
'dialpad' => [
'clientId' => env('DIALPAD_KEY'),
'clientSecret' => env('DIALPAD_SECRET'),
'redirectUri' => env('DIALPAD_REDIRECT_URI'),
'scope' => env('DIALPAD_SCOPE'),
'isSandbox' => env('APP_ENV') !== 'production',
'secret' => env('DIALPAD_VERIFICATION_TOKEN'),
],
'talkdesk' => [
'clientId' => env('TALKDESK_APP_ID'),
'clientSecret' => env('TALKDESK_SECRET'),
'redirectUri' => env('TALKDESK_REDIRECT_URI'),
'scope' => env('TALKDESK_SCOPE'),
'subdomain' => env('TALKDESK_SUBDOMAIN'),
'region' => env('TALKDESK_REGION'),
],
'live-feed' => [
'items' => env('LIVE_FEED_ENABLED_ITEMS', ''),
],
'assembly-ai' => [
'base_url' => env('AI_PROVIDER_ASSEMBLYAI_BASEURL'),
'bearer_token' => env('TRANSCRIPTION_PROVIDER_ASSEMBLYAI_TOKEN'),
],
'userpilot' => [
'key' => env('USERPILOT_KEY', ''),
'token' => env('USERPILOT_TOKEN', ''),
],
'recall-ai' => [
'apiUrl' => env('RECALL_AI_API_URL', ''),
'apiKey' => env('RECALL_AI_API_KEY', ''),
'webhookSecret' => env('RECALL_AI_WEBHOOK_SECRET', ''),
'zoomOauthAppId' => env('RECALL_AI_ZOOM_BOT_APP_ID', ''),
'zoomRegisteredEmail' => env('RECALL_AI_ZOOM_REGISTERED_EMAIL', ''),
],
'internal_webhook' => [
'secret' => env('INTERNAL_WEBHOOK_SECRET', ''),
],
];
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder
Commands, folder
Activities, folder
Analytics, folder
Calendars, folder
Crm, folder
Hubspot, folder
IntegrationApp, folder
Traits, folder
AddLayoutEntities.php, class
AutologDelayedCommand.php, class...
|
PhpStorm
|
faVsco.js – services.php
|
NULL
|
77061
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
0 results
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=local
[ENV_SECRET]
APP_DEBUG=true
LOG_CHANNEL=single
LOG_LEVEL=info
APP_URL=https://app.dev.jiminny.com
AWS_DEFAULT_REGION=us-east-2
SECURITY_HEADER_CUSTOM_CSP=
DB_CONNECTION=mysql
DB_HOST=mariadb
#DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=jmnyadmin
[ENV_SECRET]
#DB_ADMIN_USERNAME=jmnyadmin
#[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
#CASHIER_MODEL=Jiminny\Models\Userhubs
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
GITHUB_TOKEN=null
#REDIS_CLIENT=predis
REDIS_CLIENT=phpredis
REDIS_HOST=redis
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=
SENTRY_DSN_CONFERENCE=
SENTRY_DSN_FRONT_END=
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=bafe4191da0a8e
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=dev.jiminny.com
[ENV_SECRET]
POSTMARK_RECIPIENT_OVERRIDE=[EMAIL]
#APP_LOCAL_URL=https://lukask.ngrok.io
TUNNEL_HOST=https://qatest:[EMAIL]
OUTLOOK_URL=https://outlook.dev.jiminny.com
SLUG_URL=https://app.dev.jiminny.com
PUSHER_APP_ID=274174
[ENV_SECRET]
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
PUSHER_BOT_APP_ID=1195245
[ENV_SECRET]
[ENV_SECRET]
PUSHER_BOT_APP_CLUSTER=us2
[ENV_SECRET]
[ENV_SECRET]
INTERCOM_TOKEN=qwerty
[ENV_SECRET]
[ENV_SECRET]
LOGROCKET_CONFERENCE_ID=
LOGROCKET_APP_ID=
GA_CONFERENCE_ID=
GA_APP_ID=
GA_EXPORT_ID=
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.dev.jiminny.com
SESSION_SECURE_COOKIE=true
#TWILIO_ACCOUNT_SID=AC8a9a88fe598ee6154f5ed1623dbc9071
#[ENV_SECRET]
TWILIO_ACCOUNT_SID=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_ACCOUNT_SID_JIMINNY=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_CONFERENCE_SID_JIMINNY=AP0a007686d097167aa2824a5e19796d80
TWILIO_SOFTPHONE_SID_JIMINNY=AP2fb6719cbf17337398cf48b4a0f3e17d
[ENV_SECRET]
[ENV_SECRET]
TWILIO_MESSAGING_SERVICE_ID=MG045f4e1b7ff9496254c0085d28ce965b
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://jmny-dev-ed.my.salesforce.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_REDIRECT_URI=https://lukask.ngrok.io/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read oauth"
#HUBSPOT_SCOPE="crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.objects.owners.read crm.schemas.companies.read crm.schemas.contacts.read crm.schemas.deals.read oauth"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
#[ENV_SECRET]
#[ENV_SECRET]
#HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_SCOPE="timeline"
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
#[ENV_SECRET]
#[ENV_SECRET]
#AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
#AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.dev.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,commands,dnd:read,groups:read,im:read,im:write,incoming-webhook,mpim:read,mpim:write,usergroups:read,users.profile:read,users:read,users:read.email"
[ENV_SECRET]
SLACK_APP_ID=A5YUTRUNP
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/google
GOOGLE_SCOPE="email openid profile https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.readonly"
[ENV_SECRET]
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/office
#MICROSOFT_OFFICE_SCOPE="Calendars.ReadWrite"
MICROSOFT_OFFICE_SCOPE="https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/OnlineMeetings.Read openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
[ENV_SECRET]
ZOOM_SCOPE=""
ZOOM_APP_ID=
[ENV_SECRET]
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
#
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&action=Login&username={username}&password=[PASSWORD] redirect_uri}&state={recommended state value}
#https://auth.bullhornstaffing.com/oauth/token?grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={optional redirect_uri}
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&redirect_uri={optional redirect_uri}&state={recommended state value} *
#The user enters a valid Bullhorn username/password combination and clicks the Login button. A Terms of Service page is displayed. * User clicks the Agree button to accept the terms of service. *
#The page is redirected to the redirect URI with a code query parameter on the URL. The code value is the authorization code required to get an access token, which you use to get a Bullhorn session key required for REST API calls
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
# This ID is unique to the environment and need replacing after unpacking the extension
CHROME_WEB_STORE_EXT_ID=bnmndkpglijpoppflcmccddnacidanap
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=us-east-2
S3_CLIENT_DATA_BUCKET=dev.jiminny.client-data
S3_CLIENT_DATA_CLOUD_FRONT_HOST=media.app.dev.jiminny.com
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://media.app.dev.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.dev.jiminny.com'
#[ENV_SECRET]
#[ENV_SECRET]
#S3_CLIENT_DATA_REGION=eu-central-1
#S3_CLIENT_DATA_BUCKET=https://amazon-connect-b3d2d6755094
PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9080
#PROPHET_AI_WRAPPER_URL=https://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=https://prophet.staging.jiminny.com
PROPHET_AI_WRAPPER_TIMEOUT=600
FILESYSTEM_DRIVER=client-data-cloud
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
SQS_PREFIX=
SQS_QUEUE=
SQS_REGION=
KINESIS_AWS_REGION=
[ENV_SECRET]
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=
GOOGLE_TEXT_RELAY_MAILBOX=
GOOGLE_TEXT_RELAY_HOST=
GOOGLE_TEXT_RELAY_TOPIC=
GOOGLE_TEXT_RELAY_SUBSCRIPTION=
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://app.dev.jiminny.com/
[ENV_SECRET]
SES_REGION=
BUILD_NUMBER=_BUILD_NUMBER
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
BROWSERSTACK_USERNAME=thomaslavery1
[ENV_SECRET]
BROWSERSTACK_SERVER=hub-cloud.browserstack.com
TRANSCRIPTION_PROVIDER_REMEETING_BASEURL=https://api.remeeting.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_BASEURL=https://enterprise-api.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_AUTH_USERNAME=f414440ba1a9027b0a44dcf22b92ef91
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_BASEURL=https://brain.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_AUTH_USERNAME=[EMAIL]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_SPEECHMATICS_BASEURL=https://asr.api.speechmatics.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_IBM_BASEURL=
[ENV_SECRET]
MEDIA_LIVE_AWS_REGION=
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=
MEDIA_LIVE_ACCESS_ROLE=
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=
MEDIA_LIVE_S3_BUCKET=
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
#[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=arn:aws:iam::438740370364:policy/jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
TRANSCRIPTION_SUMMARY_PROVIDER_WORDCAB_BASEURL=https://wordcab.com/api
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# should be equal accross instances
[ENV_SECRET]
# comma-separated URLs for multiple instances to forward to
# HUBSPOT_WEBHOOK_FORWARD_URLS=nikolayn.ngrok.io
#HUBSPOT_WEBHOOK_FORWARD_URLS=https://app.qai.jiminny.com
HUBSPOT_WEBHOOK_FORWARD_URLS='https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#HUBSPOT_WEBHOOK_FORWARD_URLS='https://qatest:[EMAIL],https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#SAML_ENABLED=false
#
## SAML Contact Information
#SAML2_CONTACT_TECHNICAL_NAME="Technical Support"
#SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
#SAML2_CONTACT_SUPPORT_NAME="Support Team"
#SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
#
## SAML Organization Information
#SAML2_ORGANIZATION_NAME="Jiminny"
#SAML2_ORGANIZATION_URL="https://jiminny.com"
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder...
|
PhpStorm
|
faVsco.js – .env
|
NULL
|
77062
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
0 results
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=local
[ENV_SECRET]
APP_DEBUG=true
LOG_CHANNEL=single
LOG_LEVEL=info
APP_URL=https://app.dev.jiminny.com
AWS_DEFAULT_REGION=us-east-2
SECURITY_HEADER_CUSTOM_CSP=
DB_CONNECTION=mysql
DB_HOST=mariadb
#DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=jmnyadmin
[ENV_SECRET]
#DB_ADMIN_USERNAME=jmnyadmin
#[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
#CASHIER_MODEL=Jiminny\Models\Userhubs
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
GITHUB_TOKEN=null
#REDIS_CLIENT=predis
REDIS_CLIENT=phpredis
REDIS_HOST=redis
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=
SENTRY_DSN_CONFERENCE=
SENTRY_DSN_FRONT_END=
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=bafe4191da0a8e
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=dev.jiminny.com
[ENV_SECRET]
POSTMARK_RECIPIENT_OVERRIDE=[EMAIL]
#APP_LOCAL_URL=https://lukask.ngrok.io
TUNNEL_HOST=https://qatest:[EMAIL]
OUTLOOK_URL=https://outlook.dev.jiminny.com
SLUG_URL=https://app.dev.jiminny.com
PUSHER_APP_ID=274174
[ENV_SECRET]
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
PUSHER_BOT_APP_ID=1195245
[ENV_SECRET]
[ENV_SECRET]
PUSHER_BOT_APP_CLUSTER=us2
[ENV_SECRET]
[ENV_SECRET]
INTERCOM_TOKEN=qwerty
[ENV_SECRET]
[ENV_SECRET]
LOGROCKET_CONFERENCE_ID=
LOGROCKET_APP_ID=
GA_CONFERENCE_ID=
GA_APP_ID=
GA_EXPORT_ID=
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.dev.jiminny.com
SESSION_SECURE_COOKIE=true
#TWILIO_ACCOUNT_SID=AC8a9a88fe598ee6154f5ed1623dbc9071
#[ENV_SECRET]
TWILIO_ACCOUNT_SID=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_ACCOUNT_SID_JIMINNY=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_CONFERENCE_SID_JIMINNY=AP0a007686d097167aa2824a5e19796d80
TWILIO_SOFTPHONE_SID_JIMINNY=AP2fb6719cbf17337398cf48b4a0f3e17d
[ENV_SECRET]
[ENV_SECRET]
TWILIO_MESSAGING_SERVICE_ID=MG045f4e1b7ff9496254c0085d28ce965b
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://jmny-dev-ed.my.salesforce.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_REDIRECT_URI=https://lukask.ngrok.io/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read oauth"
#HUBSPOT_SCOPE="crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.objects.owners.read crm.schemas.companies.read crm.schemas.contacts.read crm.schemas.deals.read oauth"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
#[ENV_SECRET]
#[ENV_SECRET]
#HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_SCOPE="timeline"
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
#[ENV_SECRET]
#[ENV_SECRET]
#AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
#AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.dev.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,commands,dnd:read,groups:read,im:read,im:write,incoming-webhook,mpim:read,mpim:write,usergroups:read,users.profile:read,users:read,users:read.email"
[ENV_SECRET]
SLACK_APP_ID=A5YUTRUNP
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/google
GOOGLE_SCOPE="email openid profile https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.readonly"
[ENV_SECRET]
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/office
#MICROSOFT_OFFICE_SCOPE="Calendars.ReadWrite"
MICROSOFT_OFFICE_SCOPE="https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/OnlineMeetings.Read openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
[ENV_SECRET]
ZOOM_SCOPE=""
ZOOM_APP_ID=
[ENV_SECRET]
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
#
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&action=Login&username={username}&password=[PASSWORD] redirect_uri}&state={recommended state value}
#https://auth.bullhornstaffing.com/oauth/token?grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={optional redirect_uri}
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&redirect_uri={optional redirect_uri}&state={recommended state value} *
#The user enters a valid Bullhorn username/password combination and clicks the Login button. A Terms of Service page is displayed. * User clicks the Agree button to accept the terms of service. *
#The page is redirected to the redirect URI with a code query parameter on the URL. The code value is the authorization code required to get an access token, which you use to get a Bullhorn session key required for REST API calls
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
# This ID is unique to the environment and need replacing after unpacking the extension
CHROME_WEB_STORE_EXT_ID=bnmndkpglijpoppflcmccddnacidanap
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=us-east-2
S3_CLIENT_DATA_BUCKET=dev.jiminny.client-data
S3_CLIENT_DATA_CLOUD_FRONT_HOST=media.app.dev.jiminny.com
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://media.app.dev.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.dev.jiminny.com'
#[ENV_SECRET]
#[ENV_SECRET]
#S3_CLIENT_DATA_REGION=eu-central-1
#S3_CLIENT_DATA_BUCKET=https://amazon-connect-b3d2d6755094
PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9080
#PROPHET_AI_WRAPPER_URL=https://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=https://prophet.staging.jiminny.com
PROPHET_AI_WRAPPER_TIMEOUT=600
FILESYSTEM_DRIVER=client-data-cloud
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
SQS_PREFIX=
SQS_QUEUE=
SQS_REGION=
KINESIS_AWS_REGION=
[ENV_SECRET]
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=
GOOGLE_TEXT_RELAY_MAILBOX=
GOOGLE_TEXT_RELAY_HOST=
GOOGLE_TEXT_RELAY_TOPIC=
GOOGLE_TEXT_RELAY_SUBSCRIPTION=
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://app.dev.jiminny.com/
[ENV_SECRET]
SES_REGION=
BUILD_NUMBER=_BUILD_NUMBER
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
BROWSERSTACK_USERNAME=thomaslavery1
[ENV_SECRET]
BROWSERSTACK_SERVER=hub-cloud.browserstack.com
TRANSCRIPTION_PROVIDER_REMEETING_BASEURL=https://api.remeeting.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_BASEURL=https://enterprise-api.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_AUTH_USERNAME=f414440ba1a9027b0a44dcf22b92ef91
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_BASEURL=https://brain.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_AUTH_USERNAME=[EMAIL]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_SPEECHMATICS_BASEURL=https://asr.api.speechmatics.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_IBM_BASEURL=
[ENV_SECRET]
MEDIA_LIVE_AWS_REGION=
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=
MEDIA_LIVE_ACCESS_ROLE=
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=
MEDIA_LIVE_S3_BUCKET=
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
#[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=arn:aws:iam::438740370364:policy/jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
TRANSCRIPTION_SUMMARY_PROVIDER_WORDCAB_BASEURL=https://wordcab.com/api
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# should be equal accross instances
[ENV_SECRET]
# comma-separated URLs for multiple instances to forward to
# HUBSPOT_WEBHOOK_FORWARD_URLS=nikolayn.ngrok.io
#HUBSPOT_WEBHOOK_FORWARD_URLS=https://app.qai.jiminny.com
HUBSPOT_WEBHOOK_FORWARD_URLS='https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#HUBSPOT_WEBHOOK_FORWARD_URLS='https://qatest:[EMAIL],https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#SAML_ENABLED=false
#
## SAML Contact Information
#SAML2_CONTACT_TECHNICAL_NAME="Technical Support"
#SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
#SAML2_CONTACT_SUPPORT_NAME="Support Team"
#SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
#
## SAML Organization Information
#SAML2_ORGANIZATION_NAME="Jiminny"
#SAML2_ORGANIZATION_URL="https://jiminny.com"
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Structure
Bookmarks
Welcome to SonarQube for IDE
Pull Requests
More
Problems
Terminal
TODO
Windsurf Console
SonarQube for IDE
Services
Git
Notifications
Cascade
Database
AI Chat
Run
More
Tests passed: 3 (9 minutes ago)
Hide processes (1)
Windsurf Teams
45:10
Language Services Button
UTF-8
Column selection mode
4 spaces...
|
PhpStorm
|
faVsco.js – .env
|
NULL
|
77063
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=local
[ENV_SECRET]
APP_DEBUG=true
LOG_CHANNEL=single
LOG_LEVEL=info
APP_URL=https://app.dev.jiminny.com
AWS_DEFAULT_REGION=us-east-2
SECURITY_HEADER_CUSTOM_CSP=
DB_CONNECTION=mysql
DB_HOST=mariadb
#DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=jmnyadmin
[ENV_SECRET]
#DB_ADMIN_USERNAME=jmnyadmin
#[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
#CASHIER_MODEL=Jiminny\Models\Userhubs
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
GITHUB_TOKEN=null
#REDIS_CLIENT=predis
REDIS_CLIENT=phpredis
REDIS_HOST=redis
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=
SENTRY_DSN_CONFERENCE=
SENTRY_DSN_FRONT_END=
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=bafe4191da0a8e
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=dev.jiminny.com
[ENV_SECRET]
POSTMARK_RECIPIENT_OVERRIDE=[EMAIL]
#APP_LOCAL_URL=https://lukask.ngrok.io
TUNNEL_HOST=https://qatest:[EMAIL]
OUTLOOK_URL=https://outlook.dev.jiminny.com
SLUG_URL=https://app.dev.jiminny.com
PUSHER_APP_ID=274174
[ENV_SECRET]
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
PUSHER_BOT_APP_ID=1195245
[ENV_SECRET]
[ENV_SECRET]
PUSHER_BOT_APP_CLUSTER=us2
[ENV_SECRET]
[ENV_SECRET]
INTERCOM_TOKEN=qwerty
[ENV_SECRET]
[ENV_SECRET]
LOGROCKET_CONFERENCE_ID=
LOGROCKET_APP_ID=
GA_CONFERENCE_ID=
GA_APP_ID=
GA_EXPORT_ID=
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.dev.jiminny.com
SESSION_SECURE_COOKIE=true
#TWILIO_ACCOUNT_SID=AC8a9a88fe598ee6154f5ed1623dbc9071
#[ENV_SECRET]
TWILIO_ACCOUNT_SID=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_ACCOUNT_SID_JIMINNY=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_CONFERENCE_SID_JIMINNY=AP0a007686d097167aa2824a5e19796d80
TWILIO_SOFTPHONE_SID_JIMINNY=AP2fb6719cbf17337398cf48b4a0f3e17d
[ENV_SECRET]
[ENV_SECRET]
TWILIO_MESSAGING_SERVICE_ID=MG045f4e1b7ff9496254c0085d28ce965b
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://jmny-dev-ed.my.salesforce.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_REDIRECT_URI=https://lukask.ngrok.io/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read oauth"
#HUBSPOT_SCOPE="crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.objects.owners.read crm.schemas.companies.read crm.schemas.contacts.read crm.schemas.deals.read oauth"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
#[ENV_SECRET]
#[ENV_SECRET]
#HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_SCOPE="timeline"
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
#[ENV_SECRET]
#[ENV_SECRET]
#AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
#AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.dev.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,commands,dnd:read,groups:read,im:read,im:write,incoming-webhook,mpim:read,mpim:write,usergroups:read,users.profile:read,users:read,users:read.email"
[ENV_SECRET]
SLACK_APP_ID=A5YUTRUNP
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/google
GOOGLE_SCOPE="email openid profile https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.readonly"
[ENV_SECRET]
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/office
#MICROSOFT_OFFICE_SCOPE="Calendars.ReadWrite"
MICROSOFT_OFFICE_SCOPE="https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/OnlineMeetings.Read openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
[ENV_SECRET]
ZOOM_SCOPE=""
ZOOM_APP_ID=
[ENV_SECRET]
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
#
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&action=Login&username={username}&password=[PASSWORD] redirect_uri}&state={recommended state value}
#https://auth.bullhornstaffing.com/oauth/token?grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={optional redirect_uri}
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&redirect_uri={optional redirect_uri}&state={recommended state value} *
#The user enters a valid Bullhorn username/password combination and clicks the Login button. A Terms of Service page is displayed. * User clicks the Agree button to accept the terms of service. *
#The page is redirected to the redirect URI with a code query parameter on the URL. The code value is the authorization code required to get an access token, which you use to get a Bullhorn session key required for REST API calls
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
# This ID is unique to the environment and need replacing after unpacking the extension
CHROME_WEB_STORE_EXT_ID=bnmndkpglijpoppflcmccddnacidanap
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=us-east-2
S3_CLIENT_DATA_BUCKET=dev.jiminny.client-data
S3_CLIENT_DATA_CLOUD_FRONT_HOST=media.app.dev.jiminny.com
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://media.app.dev.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.dev.jiminny.com'
#[ENV_SECRET]
#[ENV_SECRET]
#S3_CLIENT_DATA_REGION=eu-central-1
#S3_CLIENT_DATA_BUCKET=https://amazon-connect-b3d2d6755094
PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9080
#PROPHET_AI_WRAPPER_URL=https://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=https://prophet.staging.jiminny.com
PROPHET_AI_WRAPPER_TIMEOUT=600
FILESYSTEM_DRIVER=client-data-cloud
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
SQS_PREFIX=
SQS_QUEUE=
SQS_REGION=
KINESIS_AWS_REGION=
[ENV_SECRET]
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=
GOOGLE_TEXT_RELAY_MAILBOX=
GOOGLE_TEXT_RELAY_HOST=
GOOGLE_TEXT_RELAY_TOPIC=
GOOGLE_TEXT_RELAY_SUBSCRIPTION=
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://app.dev.jiminny.com/
[ENV_SECRET]
SES_REGION=
BUILD_NUMBER=_BUILD_NUMBER
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
BROWSERSTACK_USERNAME=thomaslavery1
[ENV_SECRET]
BROWSERSTACK_SERVER=hub-cloud.browserstack.com
TRANSCRIPTION_PROVIDER_REMEETING_BASEURL=https://api.remeeting.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_BASEURL=https://enterprise-api.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_AUTH_USERNAME=f414440ba1a9027b0a44dcf22b92ef91
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_BASEURL=https://brain.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_AUTH_USERNAME=[EMAIL]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_SPEECHMATICS_BASEURL=https://asr.api.speechmatics.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_IBM_BASEURL=
[ENV_SECRET]
MEDIA_LIVE_AWS_REGION=
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=
MEDIA_LIVE_ACCESS_ROLE=
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=
MEDIA_LIVE_S3_BUCKET=
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
#[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=arn:aws:iam::438740370364:policy/jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
TRANSCRIPTION_SUMMARY_PROVIDER_WORDCAB_BASEURL=https://wordcab.com/api
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# should be equal accross instances
[ENV_SECRET]
# comma-separated URLs for multiple instances to forward to
# HUBSPOT_WEBHOOK_FORWARD_URLS=nikolayn.ngrok.io
#HUBSPOT_WEBHOOK_FORWARD_URLS=https://app.qai.jiminny.com
HUBSPOT_WEBHOOK_FORWARD_URLS='https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#HUBSPOT_WEBHOOK_FORWARD_URLS='https://qatest:[EMAIL],https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#SAML_ENABLED=false
#
## SAML Contact Information
#SAML2_CONTACT_TECHNICAL_NAME="Technical Support"
#SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
#SAML2_CONTACT_SUPPORT_NAME="Support Team"
#SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
#
## SAML Organization Information
#SAML2_ORGANIZATION_NAME="Jiminny"
#SAML2_ORGANIZATION_URL="https://jiminny.com"
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Structure
Bookmarks
Welcome to SonarQube for IDE
Pull Requests
More
Problems
Terminal
TODO
Windsurf Console
SonarQube for IDE
Services
Git
Notifications
Cascade
Database
AI Chat
Run
More
Tests passed: 3 (9 minutes ago)
Hide processes (1)
Windsurf Teams
45:10
Language Services Button
UTF-8
Column selection mode
4 spaces...
|
PhpStorm
|
faVsco.js – .env
|
NULL
|
77064
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=local
[ENV_SECRET]
APP_DEBUG=true
LOG_CHANNEL=single
LOG_LEVEL=info
APP_URL=https://app.dev.jiminny.com
AWS_DEFAULT_REGION=us-east-2
SECURITY_HEADER_CUSTOM_CSP=
DB_CONNECTION=mysql
DB_HOST=mariadb
#DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=jmnyadmin
[ENV_SECRET]
#DB_ADMIN_USERNAME=jmnyadmin
#[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
#CASHIER_MODEL=Jiminny\Models\Userhubs
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
GITHUB_TOKEN=null
#REDIS_CLIENT=predis
REDIS_CLIENT=phpredis
REDIS_HOST=redis
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=
SENTRY_DSN_CONFERENCE=
SENTRY_DSN_FRONT_END=
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=bafe4191da0a8e
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=dev.jiminny.com
[ENV_SECRET]
POSTMARK_RECIPIENT_OVERRIDE=[EMAIL]
#APP_LOCAL_URL=https://lukask.ngrok.io
TUNNEL_HOST=https://qatest:[EMAIL]
OUTLOOK_URL=https://outlook.dev.jiminny.com
SLUG_URL=https://app.dev.jiminny.com
PUSHER_APP_ID=274174
[ENV_SECRET]
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
PUSHER_BOT_APP_ID=1195245
[ENV_SECRET]
[ENV_SECRET]
PUSHER_BOT_APP_CLUSTER=us2
[ENV_SECRET]
[ENV_SECRET]
INTERCOM_TOKEN=qwerty
[ENV_SECRET]
[ENV_SECRET]
LOGROCKET_CONFERENCE_ID=
LOGROCKET_APP_ID=
GA_CONFERENCE_ID=
GA_APP_ID=
GA_EXPORT_ID=
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.dev.jiminny.com
SESSION_SECURE_COOKIE=true
#TWILIO_ACCOUNT_SID=AC8a9a88fe598ee6154f5ed1623dbc9071
#[ENV_SECRET]
TWILIO_ACCOUNT_SID=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_ACCOUNT_SID_JIMINNY=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_CONFERENCE_SID_JIMINNY=AP0a007686d097167aa2824a5e19796d80
TWILIO_SOFTPHONE_SID_JIMINNY=AP2fb6719cbf17337398cf48b4a0f3e17d
[ENV_SECRET]
[ENV_SECRET]
TWILIO_MESSAGING_SERVICE_ID=MG045f4e1b7ff9496254c0085d28ce965b
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://jmny-dev-ed.my.salesforce.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_REDIRECT_URI=https://lukask.ngrok.io/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read oauth"
#HUBSPOT_SCOPE="crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.objects.owners.read crm.schemas.companies.read crm.schemas.contacts.read crm.schemas.deals.read oauth"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
#[ENV_SECRET]
#[ENV_SECRET]
#HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_SCOPE="timeline"
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
#[ENV_SECRET]
#[ENV_SECRET]
#AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
#AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.dev.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,commands,dnd:read,groups:read,im:read,im:write,incoming-webhook,mpim:read,mpim:write,usergroups:read,users.profile:read,users:read,users:read.email"
[ENV_SECRET]
SLACK_APP_ID=A5YUTRUNP
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/google
GOOGLE_SCOPE="email openid profile https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.readonly"
[ENV_SECRET]
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/office
#MICROSOFT_OFFICE_SCOPE="Calendars.ReadWrite"
MICROSOFT_OFFICE_SCOPE="https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/OnlineMeetings.Read openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
[ENV_SECRET]
ZOOM_SCOPE=""
ZOOM_APP_ID=
[ENV_SECRET]
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
#
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&action=Login&username={username}&password=[PASSWORD] redirect_uri}&state={recommended state value}
#https://auth.bullhornstaffing.com/oauth/token?grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={optional redirect_uri}
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&redirect_uri={optional redirect_uri}&state={recommended state value} *
#The user enters a valid Bullhorn username/password combination and clicks the Login button. A Terms of Service page is displayed. * User clicks the Agree button to accept the terms of service. *
#The page is redirected to the redirect URI with a code query parameter on the URL. The code value is the authorization code required to get an access token, which you use to get a Bullhorn session key required for REST API calls
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
# This ID is unique to the environment and need replacing after unpacking the extension
CHROME_WEB_STORE_EXT_ID=bnmndkpglijpoppflcmccddnacidanap
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=us-east-2
S3_CLIENT_DATA_BUCKET=dev.jiminny.client-data
S3_CLIENT_DATA_CLOUD_FRONT_HOST=media.app.dev.jiminny.com
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://media.app.dev.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.dev.jiminny.com'
#[ENV_SECRET]
#[ENV_SECRET]
#S3_CLIENT_DATA_REGION=eu-central-1
#S3_CLIENT_DATA_BUCKET=https://amazon-connect-b3d2d6755094
PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9080
#PROPHET_AI_WRAPPER_URL=https://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=https://prophet.staging.jiminny.com
PROPHET_AI_WRAPPER_TIMEOUT=600
FILESYSTEM_DRIVER=client-data-cloud
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
SQS_PREFIX=
SQS_QUEUE=
SQS_REGION=
KINESIS_AWS_REGION=
[ENV_SECRET]
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=
GOOGLE_TEXT_RELAY_MAILBOX=
GOOGLE_TEXT_RELAY_HOST=
GOOGLE_TEXT_RELAY_TOPIC=
GOOGLE_TEXT_RELAY_SUBSCRIPTION=
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://app.dev.jiminny.com/
[ENV_SECRET]
SES_REGION=
BUILD_NUMBER=_BUILD_NUMBER
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
BROWSERSTACK_USERNAME=thomaslavery1
[ENV_SECRET]
BROWSERSTACK_SERVER=hub-cloud.browserstack.com
TRANSCRIPTION_PROVIDER_REMEETING_BASEURL=https://api.remeeting.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_BASEURL=https://enterprise-api.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_AUTH_USERNAME=f414440ba1a9027b0a44dcf22b92ef91
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_BASEURL=https://brain.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_AUTH_USERNAME=[EMAIL]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_SPEECHMATICS_BASEURL=https://asr.api.speechmatics.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_IBM_BASEURL=
[ENV_SECRET]
MEDIA_LIVE_AWS_REGION=
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=
MEDIA_LIVE_ACCESS_ROLE=
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=
MEDIA_LIVE_S3_BUCKET=
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
#[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=arn:aws:iam::438740370364:policy/jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
TRANSCRIPTION_SUMMARY_PROVIDER_WORDCAB_BASEURL=https://wordcab.com/api
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# should be equal accross instances
[ENV_SECRET]
# comma-separated URLs for multiple instances to forward to
# HUBSPOT_WEBHOOK_FORWARD_URLS=nikolayn.ngrok.io
#HUBSPOT_WEBHOOK_FORWARD_URLS=https://app.qai.jiminny.com
HUBSPOT_WEBHOOK_FORWARD_URLS='https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#HUBSPOT_WEBHOOK_FORWARD_URLS='https://qatest:[EMAIL],https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#SAML_ENABLED=false
#
## SAML Contact Information
#SAML2_CONTACT_TECHNICAL_NAME="Technical Support"
#SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
#SAML2_CONTACT_SUPPORT_NAME="Support Team"
#SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
#
## SAML Organization Information
#SAML2_ORGANIZATION_NAME="Jiminny"
#SAML2_ORGANIZATION_URL="https://jiminny.com"
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Structure
Bookmarks
Welcome to SonarQube for IDE
Pull Requests
More
Problems
Terminal
TODO
Windsurf Console
SonarQube for IDE
Services
Git
Notifications
Cascade
Database
AI Chat
Run
More
Tests passed: 3 (9 minutes ago)
Hide processes (1)
Windsurf Teams
45:10
Language Services Button
UTF-8
Column selection mode
4 spaces...
|
PhpStorm
|
faVsco.js – .env
|
NULL
|
77065
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=local
[ENV_SECRET]
APP_DEBUG=true
LOG_CHANNEL=single
LOG_LEVEL=info
APP_URL=https://app.dev.jiminny.com
AWS_DEFAULT_REGION=us-east-2
SECURITY_HEADER_CUSTOM_CSP=
DB_CONNECTION=mysql
DB_HOST=mariadb
#DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=jmnyadmin
[ENV_SECRET]
#DB_ADMIN_USERNAME=jmnyadmin
#[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
#CASHIER_MODEL=Jiminny\Models\Userhubs
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
GITHUB_TOKEN=null
#REDIS_CLIENT=predis
REDIS_CLIENT=phpredis
REDIS_HOST=redis
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=
SENTRY_DSN_CONFERENCE=
SENTRY_DSN_FRONT_END=
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=bafe4191da0a8e
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=dev.jiminny.com
[ENV_SECRET]
POSTMARK_RECIPIENT_OVERRIDE=[EMAIL]
#APP_LOCAL_URL=https://lukask.ngrok.io
TUNNEL_HOST=https://qatest:[EMAIL]
OUTLOOK_URL=https://outlook.dev.jiminny.com
SLUG_URL=https://app.dev.jiminny.com
PUSHER_APP_ID=274174
[ENV_SECRET]
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
PUSHER_BOT_APP_ID=1195245
[ENV_SECRET]
[ENV_SECRET]
PUSHER_BOT_APP_CLUSTER=us2
[ENV_SECRET]
[ENV_SECRET]
INTERCOM_TOKEN=qwerty
[ENV_SECRET]
[ENV_SECRET]
LOGROCKET_CONFERENCE_ID=
LOGROCKET_APP_ID=
GA_CONFERENCE_ID=
GA_APP_ID=
GA_EXPORT_ID=
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.dev.jiminny.com
SESSION_SECURE_COOKIE=true
#TWILIO_ACCOUNT_SID=AC8a9a88fe598ee6154f5ed1623dbc9071
#[ENV_SECRET]
TWILIO_ACCOUNT_SID=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_ACCOUNT_SID_JIMINNY=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_CONFERENCE_SID_JIMINNY=AP0a007686d097167aa2824a5e19796d80
TWILIO_SOFTPHONE_SID_JIMINNY=AP2fb6719cbf17337398cf48b4a0f3e17d
[ENV_SECRET]
[ENV_SECRET]
TWILIO_MESSAGING_SERVICE_ID=MG045f4e1b7ff9496254c0085d28ce965b
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://jmny-dev-ed.my.salesforce.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_REDIRECT_URI=https://lukask.ngrok.io/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read oauth"
#HUBSPOT_SCOPE="crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.objects.owners.read crm.schemas.companies.read crm.schemas.contacts.read crm.schemas.deals.read oauth"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
#[ENV_SECRET]
#[ENV_SECRET]
#HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_SCOPE="timeline"
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
#[ENV_SECRET]
#[ENV_SECRET]
#AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
#AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.dev.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,commands,dnd:read,groups:read,im:read,im:write,incoming-webhook,mpim:read,mpim:write,usergroups:read,users.profile:read,users:read,users:read.email"
[ENV_SECRET]
SLACK_APP_ID=A5YUTRUNP
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/google
GOOGLE_SCOPE="email openid profile https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.readonly"
[ENV_SECRET]
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/office
#MICROSOFT_OFFICE_SCOPE="Calendars.ReadWrite"
MICROSOFT_OFFICE_SCOPE="https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/OnlineMeetings.Read openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
[ENV_SECRET]
ZOOM_SCOPE=""
ZOOM_APP_ID=
[ENV_SECRET]
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
#
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&action=Login&username={username}&password=[PASSWORD] redirect_uri}&state={recommended state value}
#https://auth.bullhornstaffing.com/oauth/token?grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={optional redirect_uri}
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&redirect_uri={optional redirect_uri}&state={recommended state value} *
#The user enters a valid Bullhorn username/password combination and clicks the Login button. A Terms of Service page is displayed. * User clicks the Agree button to accept the terms of service. *
#The page is redirected to the redirect URI with a code query parameter on the URL. The code value is the authorization code required to get an access token, which you use to get a Bullhorn session key required for REST API calls
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
# This ID is unique to the environment and need replacing after unpacking the extension
CHROME_WEB_STORE_EXT_ID=bnmndkpglijpoppflcmccddnacidanap
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=us-east-2
S3_CLIENT_DATA_BUCKET=dev.jiminny.client-data
S3_CLIENT_DATA_CLOUD_FRONT_HOST=media.app.dev.jiminny.com
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://media.app.dev.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.dev.jiminny.com'
#[ENV_SECRET]
#[ENV_SECRET]
#S3_CLIENT_DATA_REGION=eu-central-1
#S3_CLIENT_DATA_BUCKET=https://amazon-connect-b3d2d6755094
PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9080
#PROPHET_AI_WRAPPER_URL=https://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=https://prophet.staging.jiminny.com
PROPHET_AI_WRAPPER_TIMEOUT=600
FILESYSTEM_DRIVER=client-data-cloud
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
SQS_PREFIX=
SQS_QUEUE=
SQS_REGION=
KINESIS_AWS_REGION=
[ENV_SECRET]
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=
GOOGLE_TEXT_RELAY_MAILBOX=
GOOGLE_TEXT_RELAY_HOST=
GOOGLE_TEXT_RELAY_TOPIC=
GOOGLE_TEXT_RELAY_SUBSCRIPTION=
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://app.dev.jiminny.com/
[ENV_SECRET]
SES_REGION=
BUILD_NUMBER=_BUILD_NUMBER
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
BROWSERSTACK_USERNAME=thomaslavery1
[ENV_SECRET]
BROWSERSTACK_SERVER=hub-cloud.browserstack.com
TRANSCRIPTION_PROVIDER_REMEETING_BASEURL=https://api.remeeting.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_BASEURL=https://enterprise-api.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_AUTH_USERNAME=f414440ba1a9027b0a44dcf22b92ef91
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_BASEURL=https://brain.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_AUTH_USERNAME=[EMAIL]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_SPEECHMATICS_BASEURL=https://asr.api.speechmatics.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_IBM_BASEURL=
[ENV_SECRET]
MEDIA_LIVE_AWS_REGION=
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=
MEDIA_LIVE_ACCESS_ROLE=
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=
MEDIA_LIVE_S3_BUCKET=
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
#[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=arn:aws:iam::438740370364:policy/jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
TRANSCRIPTION_SUMMARY_PROVIDER_WORDCAB_BASEURL=https://wordcab.com/api
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# should be equal accross instances
[ENV_SECRET]
# comma-separated URLs for multiple instances to forward to
# HUBSPOT_WEBHOOK_FORWARD_URLS=nikolayn.ngrok.io
#HUBSPOT_WEBHOOK_FORWARD_URLS=https://app.qai.jiminny.com
HUBSPOT_WEBHOOK_FORWARD_URLS='https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#HUBSPOT_WEBHOOK_FORWARD_URLS='https://qatest:[EMAIL],https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#SAML_ENABLED=false
#
## SAML Contact Information
#SAML2_CONTACT_TECHNICAL_NAME="Technical Support"
#SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
#SAML2_CONTACT_SUPPORT_NAME="Support Team"
#SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
#
## SAML Organization Information
#SAML2_ORGANIZATION_NAME="Jiminny"
#SAML2_ORGANIZATION_URL="https://jiminny.com"
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Structure
Bookmarks
Welcome to SonarQube for IDE
Pull Requests
More
Problems
Terminal
TODO
Windsurf Console
SonarQube for IDE
Services
Git
Notifications
Cascade
Database
AI Chat
Run
More
Tests passed: 3 (9 minutes ago)
Hide processes (1)
Windsurf Teams
50:28
Language Services Button
UTF-8
Column selection mode
4 spaces...
|
PhpStorm
|
faVsco.js – .env
|
NULL
|
77066
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=local
[ENV_SECRET]
APP_DEBUG=true
LOG_CHANNEL=single
LOG_LEVEL=info
APP_URL=https://app.dev.jiminny.com
AWS_DEFAULT_REGION=us-east-2
SECURITY_HEADER_CUSTOM_CSP=
DB_CONNECTION=mysql
DB_HOST=mariadb
#DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=jmnyadmin
[ENV_SECRET]
#DB_ADMIN_USERNAME=jmnyadmin
#[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
#CASHIER_MODEL=Jiminny\Models\Userhubs
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
GITHUB_TOKEN=null
#REDIS_CLIENT=predis
REDIS_CLIENT=phpredis
REDIS_HOST=redis
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=
SENTRY_DSN_CONFERENCE=
SENTRY_DSN_FRONT_END=
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=bafe4191da0a8e
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=dev.jiminny.com
[ENV_SECRET]
POSTMARK_RECIPIENT_OVERRIDE=[EMAIL]
#APP_LOCAL_URL=https://lukask.ngrok.io
TUNNEL_HOST=https://qatest:[EMAIL]
OUTLOOK_URL=https://outlook.dev.jiminny.com
SLUG_URL=https://app.dev.jiminny.com
PUSHER_APP_ID=274174
[ENV_SECRET]
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
PUSHER_BOT_APP_ID=1195245
[ENV_SECRET]
[ENV_SECRET]
PUSHER_BOT_APP_CLUSTER=us2
[ENV_SECRET]
[ENV_SECRET]
INTERCOM_TOKEN=qwerty
[ENV_SECRET]
[ENV_SECRET]
LOGROCKET_CONFERENCE_ID=
LOGROCKET_APP_ID=
GA_CONFERENCE_ID=
GA_APP_ID=
GA_EXPORT_ID=
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.dev.jiminny.com
SESSION_SECURE_COOKIE=true
#TWILIO_ACCOUNT_SID=AC8a9a88fe598ee6154f5ed1623dbc9071
#[ENV_SECRET]
TWILIO_ACCOUNT_SID=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_ACCOUNT_SID_JIMINNY=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_CONFERENCE_SID_JIMINNY=AP0a007686d097167aa2824a5e19796d80
TWILIO_SOFTPHONE_SID_JIMINNY=AP2fb6719cbf17337398cf48b4a0f3e17d
[ENV_SECRET]
[ENV_SECRET]
TWILIO_MESSAGING_SERVICE_ID=MG045f4e1b7ff9496254c0085d28ce965b
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://jmny-dev-ed.my.salesforce.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_REDIRECT_URI=https://lukask.ngrok.io/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read oauth"
#HUBSPOT_SCOPE="crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.objects.owners.read crm.schemas.companies.read crm.schemas.contacts.read crm.schemas.deals.read oauth"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
#[ENV_SECRET]
#[ENV_SECRET]
#HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_SCOPE="timeline"
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
#[ENV_SECRET]
#[ENV_SECRET]
#AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
#AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.dev.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,commands,dnd:read,groups:read,im:read,im:write,incoming-webhook,mpim:read,mpim:write,usergroups:read,users.profile:read,users:read,users:read.email"
[ENV_SECRET]
SLACK_APP_ID=A5YUTRUNP
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/google
GOOGLE_SCOPE="email openid profile https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.readonly"
[ENV_SECRET]
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/office
#MICROSOFT_OFFICE_SCOPE="Calendars.ReadWrite"
MICROSOFT_OFFICE_SCOPE="https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/OnlineMeetings.Read openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
[ENV_SECRET]
ZOOM_SCOPE=""
ZOOM_APP_ID=
[ENV_SECRET]
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
#
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&action=Login&username={username}&password=[PASSWORD] redirect_uri}&state={recommended state value}
#https://auth.bullhornstaffing.com/oauth/token?grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={optional redirect_uri}
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&redirect_uri={optional redirect_uri}&state={recommended state value} *
#The user enters a valid Bullhorn username/password combination and clicks the Login button. A Terms of Service page is displayed. * User clicks the Agree button to accept the terms of service. *
#The page is redirected to the redirect URI with a code query parameter on the URL. The code value is the authorization code required to get an access token, which you use to get a Bullhorn session key required for REST API calls
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
# This ID is unique to the environment and need replacing after unpacking the extension
CHROME_WEB_STORE_EXT_ID=bnmndkpglijpoppflcmccddnacidanap
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=us-east-2
S3_CLIENT_DATA_BUCKET=dev.jiminny.client-data
S3_CLIENT_DATA_CLOUD_FRONT_HOST=media.app.dev.jiminny.com
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://media.app.dev.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.dev.jiminny.com'
#[ENV_SECRET]
#[ENV_SECRET]
#S3_CLIENT_DATA_REGION=eu-central-1
#S3_CLIENT_DATA_BUCKET=https://amazon-connect-b3d2d6755094
PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9080
#PROPHET_AI_WRAPPER_URL=https://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=https://prophet.staging.jiminny.com
PROPHET_AI_WRAPPER_TIMEOUT=600
FILESYSTEM_DRIVER=client-data-cloud
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
SQS_PREFIX=
SQS_QUEUE=
SQS_REGION=
KINESIS_AWS_REGION=
[ENV_SECRET]
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=
GOOGLE_TEXT_RELAY_MAILBOX=
GOOGLE_TEXT_RELAY_HOST=
GOOGLE_TEXT_RELAY_TOPIC=
GOOGLE_TEXT_RELAY_SUBSCRIPTION=
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://app.dev.jiminny.com/
[ENV_SECRET]
SES_REGION=
BUILD_NUMBER=_BUILD_NUMBER
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
BROWSERSTACK_USERNAME=thomaslavery1
[ENV_SECRET]
BROWSERSTACK_SERVER=hub-cloud.browserstack.com
TRANSCRIPTION_PROVIDER_REMEETING_BASEURL=https://api.remeeting.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_BASEURL=https://enterprise-api.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_AUTH_USERNAME=f414440ba1a9027b0a44dcf22b92ef91
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_BASEURL=https://brain.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_AUTH_USERNAME=[EMAIL]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_SPEECHMATICS_BASEURL=https://asr.api.speechmatics.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_IBM_BASEURL=
[ENV_SECRET]
MEDIA_LIVE_AWS_REGION=
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=
MEDIA_LIVE_ACCESS_ROLE=
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=
MEDIA_LIVE_S3_BUCKET=
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
#[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=arn:aws:iam::438740370364:policy/jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
TRANSCRIPTION_SUMMARY_PROVIDER_WORDCAB_BASEURL=https://wordcab.com/api
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# should be equal accross instances
[ENV_SECRET]
# comma-separated URLs for multiple instances to forward to
# HUBSPOT_WEBHOOK_FORWARD_URLS=nikolayn.ngrok.io
#HUBSPOT_WEBHOOK_FORWARD_URLS=https://app.qai.jiminny.com
HUBSPOT_WEBHOOK_FORWARD_URLS='https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#HUBSPOT_WEBHOOK_FORWARD_URLS='https://qatest:[EMAIL],https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#SAML_ENABLED=false
#
## SAML Contact Information
#SAML2_CONTACT_TECHNICAL_NAME="Technical Support"
#SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
#SAML2_CONTACT_SUPPORT_NAME="Support Team"
#SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
#
## SAML Organization Information
#SAML2_ORGANIZATION_NAME="Jiminny"
#SAML2_ORGANIZATION_URL="https://jiminny.com"
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder...
|
PhpStorm
|
faVsco.js – .env
|
NULL
|
77067
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=local
[ENV_SECRET]
APP_DEBUG=true
LOG_CHANNEL=single
LOG_LEVEL=info
APP_URL=https://app.dev.jiminny.com
AWS_DEFAULT_REGION=us-east-2
SECURITY_HEADER_CUSTOM_CSP=
DB_CONNECTION=mysql
DB_HOST=mariadb
#DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=jmnyadmin
[ENV_SECRET]
#DB_ADMIN_USERNAME=jmnyadmin
#[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
#CASHIER_MODEL=Jiminny\Models\Userhubs
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
GITHUB_TOKEN=null
#REDIS_CLIENT=predis
REDIS_CLIENT=phpredis
REDIS_HOST=redis
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=
SENTRY_DSN_CONFERENCE=
SENTRY_DSN_FRONT_END=
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=bafe4191da0a8e
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=dev.jiminny.com
[ENV_SECRET]
POSTMARK_RECIPIENT_OVERRIDE=[EMAIL]
#APP_LOCAL_URL=https://lukask.ngrok.io
TUNNEL_HOST=https://qatest:[EMAIL]
OUTLOOK_URL=https://outlook.dev.jiminny.com
SLUG_URL=https://app.dev.jiminny.com
PUSHER_APP_ID=274174
[ENV_SECRET]
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
PUSHER_BOT_APP_ID=1195245
[ENV_SECRET]
[ENV_SECRET]
PUSHER_BOT_APP_CLUSTER=us2
[ENV_SECRET]
[ENV_SECRET]
INTERCOM_TOKEN=qwerty
[ENV_SECRET]
[ENV_SECRET]
LOGROCKET_CONFERENCE_ID=
LOGROCKET_APP_ID=
GA_CONFERENCE_ID=
GA_APP_ID=
GA_EXPORT_ID=
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.dev.jiminny.com
SESSION_SECURE_COOKIE=true
#TWILIO_ACCOUNT_SID=AC8a9a88fe598ee6154f5ed1623dbc9071
#[ENV_SECRET]
TWILIO_ACCOUNT_SID=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_ACCOUNT_SID_JIMINNY=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_CONFERENCE_SID_JIMINNY=AP0a007686d097167aa2824a5e19796d80
TWILIO_SOFTPHONE_SID_JIMINNY=AP2fb6719cbf17337398cf48b4a0f3e17d
[ENV_SECRET]
[ENV_SECRET]
TWILIO_MESSAGING_SERVICE_ID=MG045f4e1b7ff9496254c0085d28ce965b
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://jmny-dev-ed.my.salesforce.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_REDIRECT_URI=https://lukask.ngrok.io/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read oauth"
#HUBSPOT_SCOPE="crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.objects.owners.read crm.schemas.companies.read crm.schemas.contacts.read crm.schemas.deals.read oauth"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
#[ENV_SECRET]
#[ENV_SECRET]
#HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_SCOPE="timeline"
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
#[ENV_SECRET]
#[ENV_SECRET]
#AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
#AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.dev.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,commands,dnd:read,groups:read,im:read,im:write,incoming-webhook,mpim:read,mpim:write,usergroups:read,users.profile:read,users:read,users:read.email"
[ENV_SECRET]
SLACK_APP_ID=A5YUTRUNP
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/google
GOOGLE_SCOPE="email openid profile https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.readonly"
[ENV_SECRET]
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/office
#MICROSOFT_OFFICE_SCOPE="Calendars.ReadWrite"
MICROSOFT_OFFICE_SCOPE="https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/OnlineMeetings.Read openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
[ENV_SECRET]
ZOOM_SCOPE=""
ZOOM_APP_ID=
[ENV_SECRET]
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
#
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&action=Login&username={username}&password=[PASSWORD] redirect_uri}&state={recommended state value}
#https://auth.bullhornstaffing.com/oauth/token?grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={optional redirect_uri}
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&redirect_uri={optional redirect_uri}&state={recommended state value} *
#The user enters a valid Bullhorn username/password combination and clicks the Login button. A Terms of Service page is displayed. * User clicks the Agree button to accept the terms of service. *
#The page is redirected to the redirect URI with a code query parameter on the URL. The code value is the authorization code required to get an access token, which you use to get a Bullhorn session key required for REST API calls
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
# This ID is unique to the environment and need replacing after unpacking the extension
CHROME_WEB_STORE_EXT_ID=bnmndkpglijpoppflcmccddnacidanap
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=us-east-2
S3_CLIENT_DATA_BUCKET=dev.jiminny.client-data
S3_CLIENT_DATA_CLOUD_FRONT_HOST=media.app.dev.jiminny.com
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://media.app.dev.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.dev.jiminny.com'
#[ENV_SECRET]
#[ENV_SECRET]
#S3_CLIENT_DATA_REGION=eu-central-1
#S3_CLIENT_DATA_BUCKET=https://amazon-connect-b3d2d6755094
PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9080
#PROPHET_AI_WRAPPER_URL=https://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=https://prophet.staging.jiminny.com
PROPHET_AI_WRAPPER_TIMEOUT=600
FILESYSTEM_DRIVER=client-data-cloud
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
SQS_PREFIX=
SQS_QUEUE=
SQS_REGION=
KINESIS_AWS_REGION=
[ENV_SECRET]
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=
GOOGLE_TEXT_RELAY_MAILBOX=
GOOGLE_TEXT_RELAY_HOST=
GOOGLE_TEXT_RELAY_TOPIC=
GOOGLE_TEXT_RELAY_SUBSCRIPTION=
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://app.dev.jiminny.com/
[ENV_SECRET]
SES_REGION=
BUILD_NUMBER=_BUILD_NUMBER
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
BROWSERSTACK_USERNAME=thomaslavery1
[ENV_SECRET]
BROWSERSTACK_SERVER=hub-cloud.browserstack.com
TRANSCRIPTION_PROVIDER_REMEETING_BASEURL=https://api.remeeting.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_BASEURL=https://enterprise-api.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_AUTH_USERNAME=f414440ba1a9027b0a44dcf22b92ef91
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_BASEURL=https://brain.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_AUTH_USERNAME=[EMAIL]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_SPEECHMATICS_BASEURL=https://asr.api.speechmatics.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_IBM_BASEURL=
[ENV_SECRET]
MEDIA_LIVE_AWS_REGION=
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=
MEDIA_LIVE_ACCESS_ROLE=
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=
MEDIA_LIVE_S3_BUCKET=
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
#[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=arn:aws:iam::438740370364:policy/jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
TRANSCRIPTION_SUMMARY_PROVIDER_WORDCAB_BASEURL=https://wordcab.com/api
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# should be equal accross instances
[ENV_SECRET]
# comma-separated URLs for multiple instances to forward to
# HUBSPOT_WEBHOOK_FORWARD_URLS=nikolayn.ngrok.io
#HUBSPOT_WEBHOOK_FORWARD_URLS=https://app.qai.jiminny.com
HUBSPOT_WEBHOOK_FORWARD_URLS='https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#HUBSPOT_WEBHOOK_FORWARD_URLS='https://qatest:[EMAIL],https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#SAML_ENABLED=false
#
## SAML Contact Information
#SAML2_CONTACT_TECHNICAL_NAME="Technical Support"
#SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
#SAML2_CONTACT_SUPPORT_NAME="Support Team"
#SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
#
## SAML Organization Information
#SAML2_ORGANIZATION_NAME="Jiminny"
#SAML2_ORGANIZATION_URL="https://jiminny.com"
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder
Commands, folder
Activities, folder
Analytics, folder
Calendars, folder
Crm, folder
Hubspot, folder
IntegrationApp, folder
Traits, folder
AddLayoutEntities.php, class
AutologDelayedCommand.php, class
BullhornCommandAbstract.php, abstract class
BullhornPingCommand.php, class
BullhornSearchCommand.php, class...
|
PhpStorm
|
faVsco.js – .env
|
NULL
|
77068
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=local
[ENV_SECRET]
APP_DEBUG=true
LOG_CHANNEL=single
LOG_LEVEL=info
APP_URL=https://app.dev.jiminny.com
AWS_DEFAULT_REGION=us-east-2
SECURITY_HEADER_CUSTOM_CSP=
DB_CONNECTION=mysql
DB_HOST=mariadb
#DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=jmnyadmin
[ENV_SECRET]
#DB_ADMIN_USERNAME=jmnyadmin
#[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
#CASHIER_MODEL=Jiminny\Models\Userhubs
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
GITHUB_TOKEN=null
#REDIS_CLIENT=predis
REDIS_CLIENT=phpredis
REDIS_HOST=redis
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=
SENTRY_DSN_CONFERENCE=
SENTRY_DSN_FRONT_END=
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=bafe4191da0a8e
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=dev.jiminny.com
[ENV_SECRET]
POSTMARK_RECIPIENT_OVERRIDE=[EMAIL]
#APP_LOCAL_URL=https://lukask.ngrok.io
TUNNEL_HOST=https://qatest:[EMAIL]
OUTLOOK_URL=https://outlook.dev.jiminny.com
SLUG_URL=https://app.dev.jiminny.com
PUSHER_APP_ID=274174
[ENV_SECRET]
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
PUSHER_BOT_APP_ID=1195245
[ENV_SECRET]
[ENV_SECRET]
PUSHER_BOT_APP_CLUSTER=us2
[ENV_SECRET]
[ENV_SECRET]
INTERCOM_TOKEN=qwerty
[ENV_SECRET]
[ENV_SECRET]
LOGROCKET_CONFERENCE_ID=
LOGROCKET_APP_ID=
GA_CONFERENCE_ID=
GA_APP_ID=
GA_EXPORT_ID=
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.dev.jiminny.com
SESSION_SECURE_COOKIE=true
#TWILIO_ACCOUNT_SID=AC8a9a88fe598ee6154f5ed1623dbc9071
#[ENV_SECRET]
TWILIO_ACCOUNT_SID=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_ACCOUNT_SID_JIMINNY=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_CONFERENCE_SID_JIMINNY=AP0a007686d097167aa2824a5e19796d80
TWILIO_SOFTPHONE_SID_JIMINNY=AP2fb6719cbf17337398cf48b4a0f3e17d
[ENV_SECRET]
[ENV_SECRET]
TWILIO_MESSAGING_SERVICE_ID=MG045f4e1b7ff9496254c0085d28ce965b
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://jmny-dev-ed.my.salesforce.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_REDIRECT_URI=https://lukask.ngrok.io/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read oauth"
#HUBSPOT_SCOPE="crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.objects.owners.read crm.schemas.companies.read crm.schemas.contacts.read crm.schemas.deals.read oauth"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
#[ENV_SECRET]
#[ENV_SECRET]
#HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_SCOPE="timeline"
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
#[ENV_SECRET]
#[ENV_SECRET]
#AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
#AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.dev.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,commands,dnd:read,groups:read,im:read,im:write,incoming-webhook,mpim:read,mpim:write,usergroups:read,users.profile:read,users:read,users:read.email"
[ENV_SECRET]
SLACK_APP_ID=A5YUTRUNP
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/google
GOOGLE_SCOPE="email openid profile https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.readonly"
[ENV_SECRET]
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/office
#MICROSOFT_OFFICE_SCOPE="Calendars.ReadWrite"
MICROSOFT_OFFICE_SCOPE="https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/OnlineMeetings.Read openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
[ENV_SECRET]
ZOOM_SCOPE=""
ZOOM_APP_ID=
[ENV_SECRET]
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
#
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&action=Login&username={username}&password=[PASSWORD] redirect_uri}&state={recommended state value}
#https://auth.bullhornstaffing.com/oauth/token?grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={optional redirect_uri}
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&redirect_uri={optional redirect_uri}&state={recommended state value} *
#The user enters a valid Bullhorn username/password combination and clicks the Login button. A Terms of Service page is displayed. * User clicks the Agree button to accept the terms of service. *
#The page is redirected to the redirect URI with a code query parameter on the URL. The code value is the authorization code required to get an access token, which you use to get a Bullhorn session key required for REST API calls
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
# This ID is unique to the environment and need replacing after unpacking the extension
CHROME_WEB_STORE_EXT_ID=bnmndkpglijpoppflcmccddnacidanap
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=us-east-2
S3_CLIENT_DATA_BUCKET=dev.jiminny.client-data
S3_CLIENT_DATA_CLOUD_FRONT_HOST=media.app.dev.jiminny.com
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://media.app.dev.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.dev.jiminny.com'
#[ENV_SECRET]
#[ENV_SECRET]
#S3_CLIENT_DATA_REGION=eu-central-1
#S3_CLIENT_DATA_BUCKET=https://amazon-connect-b3d2d6755094
PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9080
#PROPHET_AI_WRAPPER_URL=https://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=https://prophet.staging.jiminny.com
PROPHET_AI_WRAPPER_TIMEOUT=600
FILESYSTEM_DRIVER=client-data-cloud
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
SQS_PREFIX=
SQS_QUEUE=
SQS_REGION=
KINESIS_AWS_REGION=
[ENV_SECRET]
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=
GOOGLE_TEXT_RELAY_MAILBOX=
GOOGLE_TEXT_RELAY_HOST=
GOOGLE_TEXT_RELAY_TOPIC=
GOOGLE_TEXT_RELAY_SUBSCRIPTION=
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://app.dev.jiminny.com/
[ENV_SECRET]
SES_REGION=
BUILD_NUMBER=_BUILD_NUMBER
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
BROWSERSTACK_USERNAME=thomaslavery1
[ENV_SECRET]
BROWSERSTACK_SERVER=hub-cloud.browserstack.com
TRANSCRIPTION_PROVIDER_REMEETING_BASEURL=https://api.remeeting.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_BASEURL=https://enterprise-api.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_AUTH_USERNAME=f414440ba1a9027b0a44dcf22b92ef91
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_BASEURL=https://brain.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_AUTH_USERNAME=[EMAIL]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_SPEECHMATICS_BASEURL=https://asr.api.speechmatics.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_IBM_BASEURL=
[ENV_SECRET]
MEDIA_LIVE_AWS_REGION=
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=
MEDIA_LIVE_ACCESS_ROLE=
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=
MEDIA_LIVE_S3_BUCKET=
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
#[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=arn:aws:iam::438740370364:policy/jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
TRANSCRIPTION_SUMMARY_PROVIDER_WORDCAB_BASEURL=https://wordcab.com/api
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# should be equal accross instances
[ENV_SECRET]
# comma-separated URLs for multiple instances to forward to
# HUBSPOT_WEBHOOK_FORWARD_URLS=nikolayn.ngrok.io
#HUBSPOT_WEBHOOK_FORWARD_URLS=https://app.qai.jiminny.com
HUBSPOT_WEBHOOK_FORWARD_URLS='https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#HUBSPOT_WEBHOOK_FORWARD_URLS='https://qatest:[EMAIL],https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#SAML_ENABLED=false
#
## SAML Contact Information
#SAML2_CONTACT_TECHNICAL_NAME="Technical Support"
#SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
#SAML2_CONTACT_SUPPORT_NAME="Support Team"
#SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
#
## SAML Organization Information
#SAML2_ORGANIZATION_NAME="Jiminny"
#SAML2_ORGANIZATION_URL="https://jiminny.com"
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}...
|
PhpStorm
|
faVsco.js – .env
|
NULL
|
77069
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=local
[ENV_SECRET]
APP_DEBUG=true
LOG_CHANNEL=single
LOG_LEVEL=info
APP_URL=https://app.dev.jiminny.com
AWS_DEFAULT_REGION=us-east-2
SECURITY_HEADER_CUSTOM_CSP=
DB_CONNECTION=mysql
DB_HOST=mariadb
#DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=jmnyadmin
[ENV_SECRET]
#DB_ADMIN_USERNAME=jmnyadmin
#[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
#CASHIER_MODEL=Jiminny\Models\Userhubs
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
GITHUB_TOKEN=null
#REDIS_CLIENT=predis
REDIS_CLIENT=phpredis
REDIS_HOST=redis
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=
SENTRY_DSN_CONFERENCE=
SENTRY_DSN_FRONT_END=
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=bafe4191da0a8e
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=dev.jiminny.com
[ENV_SECRET]
POSTMARK_RECIPIENT_OVERRIDE=[EMAIL]
#APP_LOCAL_URL=https://lukask.ngrok.io
TUNNEL_HOST=https://qatest:[EMAIL]
OUTLOOK_URL=https://outlook.dev.jiminny.com
SLUG_URL=https://app.dev.jiminny.com
PUSHER_APP_ID=274174
[ENV_SECRET]
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
PUSHER_BOT_APP_ID=1195245
[ENV_SECRET]
[ENV_SECRET]
PUSHER_BOT_APP_CLUSTER=us2
[ENV_SECRET]
[ENV_SECRET]
INTERCOM_TOKEN=qwerty
[ENV_SECRET]
[ENV_SECRET]
LOGROCKET_CONFERENCE_ID=
LOGROCKET_APP_ID=
GA_CONFERENCE_ID=
GA_APP_ID=
GA_EXPORT_ID=
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.dev.jiminny.com
SESSION_SECURE_COOKIE=true
#TWILIO_ACCOUNT_SID=AC8a9a88fe598ee6154f5ed1623dbc9071
#[ENV_SECRET]
TWILIO_ACCOUNT_SID=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_ACCOUNT_SID_JIMINNY=AC9565c816940c24b54718a5f58125c648
[ENV_SECRET]
TWILIO_CONFERENCE_SID_JIMINNY=AP0a007686d097167aa2824a5e19796d80
TWILIO_SOFTPHONE_SID_JIMINNY=AP2fb6719cbf17337398cf48b4a0f3e17d
[ENV_SECRET]
[ENV_SECRET]
TWILIO_MESSAGING_SERVICE_ID=MG045f4e1b7ff9496254c0085d28ce965b
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://dev.jiminny.com/auth/callback/salesforce
#SALESFORCE_REDIRECT_URI=https://jmny-dev-ed.my.salesforce.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_REDIRECT_URI=https://lukask.ngrok.io/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read oauth"
#HUBSPOT_SCOPE="crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.objects.owners.read crm.schemas.companies.read crm.schemas.contacts.read crm.schemas.deals.read oauth"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
#[ENV_SECRET]
#[ENV_SECRET]
#HUBSPOT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/hubspot
#HUBSPOT_SCOPE="timeline"
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
#[ENV_SECRET]
#[ENV_SECRET]
#AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
#AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.dev.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,commands,dnd:read,groups:read,im:read,im:write,incoming-webhook,mpim:read,mpim:write,usergroups:read,users.profile:read,users:read,users:read.email"
[ENV_SECRET]
SLACK_APP_ID=A5YUTRUNP
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/google
GOOGLE_SCOPE="email openid profile https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.readonly"
[ENV_SECRET]
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/office
#MICROSOFT_OFFICE_SCOPE="Calendars.ReadWrite"
MICROSOFT_OFFICE_SCOPE="https://graph.microsoft.com/Calendars.ReadWrite https://graph.microsoft.com/OnlineMeetings.Read openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
[ENV_SECRET]
ZOOM_SCOPE=""
ZOOM_APP_ID=
[ENV_SECRET]
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
#
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&action=Login&username={username}&password=[PASSWORD] redirect_uri}&state={recommended state value}
#https://auth.bullhornstaffing.com/oauth/token?grant_type=authorization_code&code={auth_code}&client_id={client_id}&client_secret={client_secret}&redirect_uri={optional redirect_uri}
#https://auth.bullhornstaffing.com/oauth/authorize?client_id={client_id}&response_type=code&redirect_uri={optional redirect_uri}&state={recommended state value} *
#The user enters a valid Bullhorn username/password combination and clicks the Login button. A Terms of Service page is displayed. * User clicks the Agree button to accept the terms of service. *
#The page is redirected to the redirect URI with a code query parameter on the URL. The code value is the authorization code required to get an access token, which you use to get a Bullhorn session key required for REST API calls
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
# This ID is unique to the environment and need replacing after unpacking the extension
CHROME_WEB_STORE_EXT_ID=bnmndkpglijpoppflcmccddnacidanap
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=us-east-2
S3_CLIENT_DATA_BUCKET=dev.jiminny.client-data
S3_CLIENT_DATA_CLOUD_FRONT_HOST=media.app.dev.jiminny.com
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://media.app.dev.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.dev.jiminny.com'
#[ENV_SECRET]
#[ENV_SECRET]
#S3_CLIENT_DATA_REGION=eu-central-1
#S3_CLIENT_DATA_BUCKET=https://amazon-connect-b3d2d6755094
PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9080
#PROPHET_AI_WRAPPER_URL=https://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=http://host.docker.internal:9091
#PROPHET_AI_WRAPPER_URL=https://prophet.staging.jiminny.com
PROPHET_AI_WRAPPER_TIMEOUT=600
FILESYSTEM_DRIVER=client-data-cloud
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
SQS_PREFIX=
SQS_QUEUE=
SQS_REGION=
KINESIS_AWS_REGION=
[ENV_SECRET]
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=
GOOGLE_TEXT_RELAY_MAILBOX=
GOOGLE_TEXT_RELAY_HOST=
GOOGLE_TEXT_RELAY_TOPIC=
GOOGLE_TEXT_RELAY_SUBSCRIPTION=
ELASTICSEARCH_HOST=elasticsearch
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://app.dev.jiminny.com/
[ENV_SECRET]
SES_REGION=
BUILD_NUMBER=_BUILD_NUMBER
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
BROWSERSTACK_USERNAME=thomaslavery1
[ENV_SECRET]
BROWSERSTACK_SERVER=hub-cloud.browserstack.com
TRANSCRIPTION_PROVIDER_REMEETING_BASEURL=https://api.remeeting.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_BASEURL=https://enterprise-api.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_AUTH_USERNAME=f414440ba1a9027b0a44dcf22b92ef91
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_BASEURL=https://brain.deepgram.com
TRANSCRIPTION_PROVIDER_DEEPGRAM_V2_AUTH_USERNAME=[EMAIL]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_SPEECHMATICS_BASEURL=https://asr.api.speechmatics.com
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_IBM_BASEURL=
[ENV_SECRET]
MEDIA_LIVE_AWS_REGION=
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=
MEDIA_LIVE_ACCESS_ROLE=
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=
MEDIA_LIVE_S3_BUCKET=
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
#[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=arn:aws:iam::438740370364:policy/jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
TRANSCRIPTION_SUMMARY_PROVIDER_WORDCAB_BASEURL=https://wordcab.com/api
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# should be equal accross instances
[ENV_SECRET]
# comma-separated URLs for multiple instances to forward to
# HUBSPOT_WEBHOOK_FORWARD_URLS=nikolayn.ngrok.io
#HUBSPOT_WEBHOOK_FORWARD_URLS=https://app.qai.jiminny.com
HUBSPOT_WEBHOOK_FORWARD_URLS='https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#HUBSPOT_WEBHOOK_FORWARD_URLS='https://qatest:[EMAIL],https://uranus.staging.jiminny.com,https://app.qai.jiminny.com'
#SAML_ENABLED=false
#
## SAML Contact Information
#SAML2_CONTACT_TECHNICAL_NAME="Technical Support"
#SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
#SAML2_CONTACT_SUPPORT_NAME="Support Team"
#SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
#
## SAML Organization Information
#SAML2_ORGANIZATION_NAME="Jiminny"
#SAML2_ORGANIZATION_URL="https://jiminny.com"
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder...
|
PhpStorm
|
faVsco.js – .env
|
NULL
|
77070
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=staging
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.staging.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
SECURITY_HEADER_HSTS_ENABLE=true
CONTENT_SECURITY_POLICY_REPORT_URI=https://jmny.report-uri.com/r/d/csp/reportOnly
SECURITY_HEADER_CUSTOM_CSP=null
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-staging
LOGROCKET_APP_ID=ponxaf/platform-staging
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=staging.jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
OUTLOOK_URL=https://outlook.staging.jiminny.com
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
PLANHAT_ENABLED=
PLANHAT_TENANT_UUID=
PLANHAT_JIMINNY_JWT=
SESSION_DOMAIN=app.staging.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38483
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.staging.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
SLACK_APP_ID=A5YBAJ8TA
#SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
#[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=DHU7peAKRKG9YYOzXt_GZg
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
# Talkdesk OAuth configuration
# Basic auth
TALKDESK_APP_ID=d0582f3489224089bbb31be4d54cf49e
[ENV_SECRET]
TALKDESK_SCOPE="openid refresh_token apps:read account:read users:read reports:read recordings:read contacts:read data-reports:read events:read webhooks-trigger:write"
TALKDESK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/talkdesk
TALKDESK_SUBDOMAIN=jiminny-dev
TALKDESK_REGION=us
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.staging.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.staging.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.staging.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/staging-relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-stage.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=staging-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=2044916
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::438740370364:role/medialive-role-jiminny-app-stage-stage
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=stage-jiminny-medialive
MEDIA_STREAMING_AWS_REGION=us-east-2
MEDIA_STREAMING_AWS_ACCOUNT_ID=438740370364
MEDIA_STREAMING_AWS_STATE_MACHINE=msi_state_machine
MEDIA_STREAMING_AWS_API_GATEWAY_ENDPOINT=https://znq8b5kgkd.execute-api.us-east-2.amazonaws.com/staging/
[ENV_SECRET]
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-east-1.recall.ai/api/
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# System Environment Variable defined in AWS
# RECALL_AI_API_KEY=
# RECALL_AI_WEBHOOK_SECRET=
# RECALL_AI_ZOOM_BOT_APP_ID=
# ZOOM_BOT_REDIRECT_URI=
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.qa.jiminny.com,https://app.qai.jiminny.com,https://jupiter.staging.jiminny.com,https://uranus.staging.jiminny.com'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder...
|
PhpStorm
|
faVsco.js – .env.staging
|
NULL
|
77071
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=staging
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.staging.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
SECURITY_HEADER_HSTS_ENABLE=true
CONTENT_SECURITY_POLICY_REPORT_URI=https://jmny.report-uri.com/r/d/csp/reportOnly
SECURITY_HEADER_CUSTOM_CSP=null
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-staging
LOGROCKET_APP_ID=ponxaf/platform-staging
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=staging.jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
OUTLOOK_URL=https://outlook.staging.jiminny.com
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
PLANHAT_ENABLED=
PLANHAT_TENANT_UUID=
PLANHAT_JIMINNY_JWT=
SESSION_DOMAIN=app.staging.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38483
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.staging.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
SLACK_APP_ID=A5YBAJ8TA
#SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
#[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=DHU7peAKRKG9YYOzXt_GZg
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
# Talkdesk OAuth configuration
# Basic auth
TALKDESK_APP_ID=d0582f3489224089bbb31be4d54cf49e
[ENV_SECRET]
TALKDESK_SCOPE="openid refresh_token apps:read account:read users:read reports:read recordings:read contacts:read data-reports:read events:read webhooks-trigger:write"
TALKDESK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/talkdesk
TALKDESK_SUBDOMAIN=jiminny-dev
TALKDESK_REGION=us
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.staging.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.staging.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.staging.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/staging-relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-stage.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=staging-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=2044916
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::438740370364:role/medialive-role-jiminny-app-stage-stage
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=stage-jiminny-medialive
MEDIA_STREAMING_AWS_REGION=us-east-2
MEDIA_STREAMING_AWS_ACCOUNT_ID=438740370364
MEDIA_STREAMING_AWS_STATE_MACHINE=msi_state_machine
MEDIA_STREAMING_AWS_API_GATEWAY_ENDPOINT=https://znq8b5kgkd.execute-api.us-east-2.amazonaws.com/staging/
[ENV_SECRET]
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-east-1.recall.ai/api/
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# System Environment Variable defined in AWS
# RECALL_AI_API_KEY=
# RECALL_AI_WEBHOOK_SECRET=
# RECALL_AI_ZOOM_BOT_APP_ID=
# ZOOM_BOT_REDIRECT_URI=
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.qa.jiminny.com,https://app.qai.jiminny.com,https://jupiter.staging.jiminny.com,https://uranus.staging.jiminny.com'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
PhpStorm
|
faVsco.js – .env.staging
|
NULL
|
77072
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=staging
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.staging.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
SECURITY_HEADER_HSTS_ENABLE=true
CONTENT_SECURITY_POLICY_REPORT_URI=https://jmny.report-uri.com/r/d/csp/reportOnly
SECURITY_HEADER_CUSTOM_CSP=null
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-staging
LOGROCKET_APP_ID=ponxaf/platform-staging
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=staging.jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
OUTLOOK_URL=https://outlook.staging.jiminny.com
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
PLANHAT_ENABLED=
PLANHAT_TENANT_UUID=
PLANHAT_JIMINNY_JWT=
SESSION_DOMAIN=app.staging.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38483
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.staging.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
SLACK_APP_ID=A5YBAJ8TA
#SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
#[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=DHU7peAKRKG9YYOzXt_GZg
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
# Talkdesk OAuth configuration
# Basic auth
TALKDESK_APP_ID=d0582f3489224089bbb31be4d54cf49e
[ENV_SECRET]
TALKDESK_SCOPE="openid refresh_token apps:read account:read users:read reports:read recordings:read contacts:read data-reports:read events:read webhooks-trigger:write"
TALKDESK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/talkdesk
TALKDESK_SUBDOMAIN=jiminny-dev
TALKDESK_REGION=us
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.staging.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.staging.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.staging.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/staging-relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-stage.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=staging-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=2044916
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::438740370364:role/medialive-role-jiminny-app-stage-stage
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=stage-jiminny-medialive
MEDIA_STREAMING_AWS_REGION=us-east-2
MEDIA_STREAMING_AWS_ACCOUNT_ID=438740370364
MEDIA_STREAMING_AWS_STATE_MACHINE=msi_state_machine
MEDIA_STREAMING_AWS_API_GATEWAY_ENDPOINT=https://znq8b5kgkd.execute-api.us-east-2.amazonaws.com/staging/
[ENV_SECRET]
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-east-1.recall.ai/api/
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# System Environment Variable defined in AWS
# RECALL_AI_API_KEY=
# RECALL_AI_WEBHOOK_SECRET=
# RECALL_AI_ZOOM_BOT_APP_ID=
# ZOOM_BOT_REDIRECT_URI=
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.qa.jiminny.com,https://app.qai.jiminny.com,https://jupiter.staging.jiminny.com,https://uranus.staging.jiminny.com'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder
Commands, folder
Activities, folder
Analytics, folder
Calendars, folder
Crm, folder
Hubspot, folder
IntegrationApp, folder
Traits, folder
AddLayoutEntities.php, class
AutologDelayedCommand.php, class
BullhornCommandAbstract.php, abstract class
BullhornPingCommand.php, class
BullhornSearchCommand.php, class
BullhornSessionCommand.php, class
CheckActivityLoggableCommand.php, final class
CleanDuplicateFieldDataCommand.php, class
FullSyncOpportunityCommand.php, class
LogActivitiesCommand.php, final class
ManageSyncStrategyCommand.php, class
MatchCrmObjectsCommand.php, class...
|
PhpStorm
|
faVsco.js – .env.staging
|
NULL
|
77073
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=staging
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.staging.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
SECURITY_HEADER_HSTS_ENABLE=true
CONTENT_SECURITY_POLICY_REPORT_URI=https://jmny.report-uri.com/r/d/csp/reportOnly
SECURITY_HEADER_CUSTOM_CSP=null
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-staging
LOGROCKET_APP_ID=ponxaf/platform-staging
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=staging.jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
OUTLOOK_URL=https://outlook.staging.jiminny.com
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
PLANHAT_ENABLED=
PLANHAT_TENANT_UUID=
PLANHAT_JIMINNY_JWT=
SESSION_DOMAIN=app.staging.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38483
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.staging.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
SLACK_APP_ID=A5YBAJ8TA
#SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
#[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=DHU7peAKRKG9YYOzXt_GZg
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
# Talkdesk OAuth configuration
# Basic auth
TALKDESK_APP_ID=d0582f3489224089bbb31be4d54cf49e
[ENV_SECRET]
TALKDESK_SCOPE="openid refresh_token apps:read account:read users:read reports:read recordings:read contacts:read data-reports:read events:read webhooks-trigger:write"
TALKDESK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/talkdesk
TALKDESK_SUBDOMAIN=jiminny-dev
TALKDESK_REGION=us
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.staging.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.staging.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.staging.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/staging-relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-stage.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=staging-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=2044916
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::438740370364:role/medialive-role-jiminny-app-stage-stage
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=stage-jiminny-medialive
MEDIA_STREAMING_AWS_REGION=us-east-2
MEDIA_STREAMING_AWS_ACCOUNT_ID=438740370364
MEDIA_STREAMING_AWS_STATE_MACHINE=msi_state_machine
MEDIA_STREAMING_AWS_API_GATEWAY_ENDPOINT=https://znq8b5kgkd.execute-api.us-east-2.amazonaws.com/staging/
[ENV_SECRET]
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-east-1.recall.ai/api/
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# System Environment Variable defined in AWS
# RECALL_AI_API_KEY=
# RECALL_AI_WEBHOOK_SECRET=
# RECALL_AI_ZOOM_BOT_APP_ID=
# ZOOM_BOT_REDIRECT_URI=
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.qa.jiminny.com,https://app.qai.jiminny.com,https://jupiter.staging.jiminny.com,https://uranus.staging.jiminny.com'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder
Commands, folder
Activities, folder
Analytics, folder
Calendars, folder
Crm, folder
Hubspot, folder
IntegrationApp, folder
Traits, folder
AddLayoutEntities.php, class
AutologDelayedCommand.php, class
BullhornCommandAbstract.php, abstract class
BullhornPingCommand.php, class
BullhornSearchCommand.php, class
BullhornSessionCommand.php, class
CheckActivityLoggableCommand.php, final class
CleanDuplicateFieldDataCommand.php, class...
|
PhpStorm
|
faVsco.js – .env.staging
|
NULL
|
77074
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=staging
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.staging.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
SECURITY_HEADER_HSTS_ENABLE=true
CONTENT_SECURITY_POLICY_REPORT_URI=https://jmny.report-uri.com/r/d/csp/reportOnly
SECURITY_HEADER_CUSTOM_CSP=null
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-staging
LOGROCKET_APP_ID=ponxaf/platform-staging
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=staging.jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
OUTLOOK_URL=https://outlook.staging.jiminny.com
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
PLANHAT_ENABLED=
PLANHAT_TENANT_UUID=
PLANHAT_JIMINNY_JWT=
SESSION_DOMAIN=app.staging.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38483
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.staging.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
SLACK_APP_ID=A5YBAJ8TA
#SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
#[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=DHU7peAKRKG9YYOzXt_GZg
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
# Talkdesk OAuth configuration
# Basic auth
TALKDESK_APP_ID=d0582f3489224089bbb31be4d54cf49e
[ENV_SECRET]
TALKDESK_SCOPE="openid refresh_token apps:read account:read users:read reports:read recordings:read contacts:read data-reports:read events:read webhooks-trigger:write"
TALKDESK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/talkdesk
TALKDESK_SUBDOMAIN=jiminny-dev
TALKDESK_REGION=us
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.staging.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.staging.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.staging.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/staging-relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-stage.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=staging-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=2044916
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::438740370364:role/medialive-role-jiminny-app-stage-stage
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=stage-jiminny-medialive
MEDIA_STREAMING_AWS_REGION=us-east-2
MEDIA_STREAMING_AWS_ACCOUNT_ID=438740370364
MEDIA_STREAMING_AWS_STATE_MACHINE=msi_state_machine
MEDIA_STREAMING_AWS_API_GATEWAY_ENDPOINT=https://znq8b5kgkd.execute-api.us-east-2.amazonaws.com/staging/
[ENV_SECRET]
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-east-1.recall.ai/api/
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# System Environment Variable defined in AWS
# RECALL_AI_API_KEY=
# RECALL_AI_WEBHOOK_SECRET=
# RECALL_AI_ZOOM_BOT_APP_ID=
# ZOOM_BOT_REDIRECT_URI=
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.qa.jiminny.com,https://app.qai.jiminny.com,https://jupiter.staging.jiminny.com,https://uranus.staging.jiminny.com'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder...
|
PhpStorm
|
faVsco.js – .env.staging
|
NULL
|
77075
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=staging
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.staging.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
SECURITY_HEADER_HSTS_ENABLE=true
CONTENT_SECURITY_POLICY_REPORT_URI=https://jmny.report-uri.com/r/d/csp/reportOnly
SECURITY_HEADER_CUSTOM_CSP=null
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-staging
LOGROCKET_APP_ID=ponxaf/platform-staging
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=staging.jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
OUTLOOK_URL=https://outlook.staging.jiminny.com
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
PLANHAT_ENABLED=
PLANHAT_TENANT_UUID=
PLANHAT_JIMINNY_JWT=
SESSION_DOMAIN=app.staging.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38483
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.staging.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
SLACK_APP_ID=A5YBAJ8TA
#SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
#[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=DHU7peAKRKG9YYOzXt_GZg
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
# Talkdesk OAuth configuration
# Basic auth
TALKDESK_APP_ID=d0582f3489224089bbb31be4d54cf49e
[ENV_SECRET]
TALKDESK_SCOPE="openid refresh_token apps:read account:read users:read reports:read recordings:read contacts:read data-reports:read events:read webhooks-trigger:write"
TALKDESK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/talkdesk
TALKDESK_SUBDOMAIN=jiminny-dev
TALKDESK_REGION=us
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.staging.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.staging.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.staging.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/staging-relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-stage.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=staging-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=2044916
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::438740370364:role/medialive-role-jiminny-app-stage-stage
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=stage-jiminny-medialive
MEDIA_STREAMING_AWS_REGION=us-east-2
MEDIA_STREAMING_AWS_ACCOUNT_ID=438740370364
MEDIA_STREAMING_AWS_STATE_MACHINE=msi_state_machine
MEDIA_STREAMING_AWS_API_GATEWAY_ENDPOINT=https://znq8b5kgkd.execute-api.us-east-2.amazonaws.com/staging/
[ENV_SECRET]
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-east-1.recall.ai/api/
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# System Environment Variable defined in AWS
# RECALL_AI_API_KEY=
# RECALL_AI_WEBHOOK_SECRET=
# RECALL_AI_ZOOM_BOT_APP_ID=
# ZOOM_BOT_REDIRECT_URI=
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.qa.jiminny.com,https://app.qai.jiminny.com,https://jupiter.staging.jiminny.com,https://uranus.staging.jiminny.com'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder...
|
PhpStorm
|
faVsco.js – .env.staging
|
NULL
|
77076
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=staging
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.staging.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
SECURITY_HEADER_HSTS_ENABLE=true
CONTENT_SECURITY_POLICY_REPORT_URI=https://jmny.report-uri.com/r/d/csp/reportOnly
SECURITY_HEADER_CUSTOM_CSP=null
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-staging
LOGROCKET_APP_ID=ponxaf/platform-staging
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=staging.jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
OUTLOOK_URL=https://outlook.staging.jiminny.com
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
PLANHAT_ENABLED=
PLANHAT_TENANT_UUID=
PLANHAT_JIMINNY_JWT=
SESSION_DOMAIN=app.staging.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38483
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.staging.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
SLACK_APP_ID=A5YBAJ8TA
#SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
#[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=DHU7peAKRKG9YYOzXt_GZg
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
# Talkdesk OAuth configuration
# Basic auth
TALKDESK_APP_ID=d0582f3489224089bbb31be4d54cf49e
[ENV_SECRET]
TALKDESK_SCOPE="openid refresh_token apps:read account:read users:read reports:read recordings:read contacts:read data-reports:read events:read webhooks-trigger:write"
TALKDESK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/talkdesk
TALKDESK_SUBDOMAIN=jiminny-dev
TALKDESK_REGION=us
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.staging.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.staging.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.staging.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/staging-relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-stage.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=staging-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=2044916
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::438740370364:role/medialive-role-jiminny-app-stage-stage
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=stage-jiminny-medialive
MEDIA_STREAMING_AWS_REGION=us-east-2
MEDIA_STREAMING_AWS_ACCOUNT_ID=438740370364
MEDIA_STREAMING_AWS_STATE_MACHINE=msi_state_machine
MEDIA_STREAMING_AWS_API_GATEWAY_ENDPOINT=https://znq8b5kgkd.execute-api.us-east-2.amazonaws.com/staging/
[ENV_SECRET]
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-east-1.recall.ai/api/
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# System Environment Variable defined in AWS
# RECALL_AI_API_KEY=
# RECALL_AI_WEBHOOK_SECRET=
# RECALL_AI_ZOOM_BOT_APP_ID=
# ZOOM_BOT_REDIRECT_URI=
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.qa.jiminny.com,https://app.qai.jiminny.com,https://jupiter.staging.jiminny.com,https://uranus.staging.jiminny.com'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder
Commands, folder
Activities, folder
Analytics, folder
Calendars, folder
Crm, folder
Hubspot, folder
IntegrationApp, folder
Traits, folder
AddLayoutEntities.php, class
AutologDelayedCommand.php, class
BullhornCommandAbstract.php, abstract class
BullhornPingCommand.php, class
BullhornSearchCommand.php, class
BullhornSessionCommand.php, class
CheckActivityLoggableCommand.php, final class
CleanDuplicateFieldDataCommand.php, class
FullSyncOpportunityCommand.php, class
LogActivitiesCommand.php, final class
ManageSyncStrategyCommand.php, class
MatchCrmObjectsCommand.php, class
MatchOpportunityActivitiesCommand.php, class
MigrateProvider.php, class
ProcessHubspotObjectsSyncBatches.php, class
PurgeDeletedOpportunitiesCommand.php, class
ResetGovernorLimits.php, class
SendNotLogged.php, class
SetupActivityTypeForFollowUp.php, final class
SetupCloseCrm.php, class
SetupCopperCrm.php, class...
|
PhpStorm
|
faVsco.js – .env.staging
|
NULL
|
77077
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=staging
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.staging.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
SECURITY_HEADER_HSTS_ENABLE=true
CONTENT_SECURITY_POLICY_REPORT_URI=https://jmny.report-uri.com/r/d/csp/reportOnly
SECURITY_HEADER_CUSTOM_CSP=null
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-staging
LOGROCKET_APP_ID=ponxaf/platform-staging
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=staging.jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
OUTLOOK_URL=https://outlook.staging.jiminny.com
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
PLANHAT_ENABLED=
PLANHAT_TENANT_UUID=
PLANHAT_JIMINNY_JWT=
SESSION_DOMAIN=app.staging.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38483
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.staging.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
SLACK_APP_ID=A5YBAJ8TA
#SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
#[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=DHU7peAKRKG9YYOzXt_GZg
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
# Talkdesk OAuth configuration
# Basic auth
TALKDESK_APP_ID=d0582f3489224089bbb31be4d54cf49e
[ENV_SECRET]
TALKDESK_SCOPE="openid refresh_token apps:read account:read users:read reports:read recordings:read contacts:read data-reports:read events:read webhooks-trigger:write"
TALKDESK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/talkdesk
TALKDESK_SUBDOMAIN=jiminny-dev
TALKDESK_REGION=us
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.staging.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.staging.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.staging.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/staging-relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-stage.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=staging-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=2044916
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::438740370364:role/medialive-role-jiminny-app-stage-stage
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=stage-jiminny-medialive
MEDIA_STREAMING_AWS_REGION=us-east-2
MEDIA_STREAMING_AWS_ACCOUNT_ID=438740370364
MEDIA_STREAMING_AWS_STATE_MACHINE=msi_state_machine
MEDIA_STREAMING_AWS_API_GATEWAY_ENDPOINT=https://znq8b5kgkd.execute-api.us-east-2.amazonaws.com/staging/
[ENV_SECRET]
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-east-1.recall.ai/api/
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# System Environment Variable defined in AWS
# RECALL_AI_API_KEY=
# RECALL_AI_WEBHOOK_SECRET=
# RECALL_AI_ZOOM_BOT_APP_ID=
# ZOOM_BOT_REDIRECT_URI=
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.qa.jiminny.com,https://app.qai.jiminny.com,https://jupiter.staging.jiminny.com,https://uranus.staging.jiminny.com'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder
Commands, folder
Activities, folder
Analytics, folder
Calendars, folder
Crm, folder
Hubspot, folder
IntegrationApp, folder
Traits, folder
AddLayoutEntities.php, class
AutologDelayedCommand.php, class
BullhornCommandAbstract.php, abstract class
BullhornPingCommand.php, class
BullhornSearchCommand.php, class
BullhornSessionCommand.php, class
CheckActivityLoggableCommand.php, final class
CleanDuplicateFieldDataCommand.php, class
FullSyncOpportunityCommand.php, class
LogActivitiesCommand.php, final class
ManageSyncStrategyCommand.php, class
MatchCrmObjectsCommand.php, class
MatchOpportunityActivitiesCommand.php, class
MigrateProvider.php, class
ProcessHubspotObjectsSyncBatches.php, class
PurgeDeletedOpportunitiesCommand.php, class
ResetGovernorLimits.php, class
SendNotLogged.php, class
SetupActivityTypeForFollowUp.php, final class
SetupCloseCrm.php, class
SetupCopperCrm.php, class...
|
PhpStorm
|
faVsco.js – .env.staging
|
NULL
|
77078
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=staging
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.staging.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
SECURITY_HEADER_HSTS_ENABLE=true
CONTENT_SECURITY_POLICY_REPORT_URI=https://jmny.report-uri.com/r/d/csp/reportOnly
SECURITY_HEADER_CUSTOM_CSP=null
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-staging
LOGROCKET_APP_ID=ponxaf/platform-staging
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=staging.jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
OUTLOOK_URL=https://outlook.staging.jiminny.com
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
PLANHAT_ENABLED=
PLANHAT_TENANT_UUID=
PLANHAT_JIMINNY_JWT=
SESSION_DOMAIN=app.staging.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38483
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.staging.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
SLACK_APP_ID=A5YBAJ8TA
#SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
#[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=DHU7peAKRKG9YYOzXt_GZg
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
# Talkdesk OAuth configuration
# Basic auth
TALKDESK_APP_ID=d0582f3489224089bbb31be4d54cf49e
[ENV_SECRET]
TALKDESK_SCOPE="openid refresh_token apps:read account:read users:read reports:read recordings:read contacts:read data-reports:read events:read webhooks-trigger:write"
TALKDESK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/talkdesk
TALKDESK_SUBDOMAIN=jiminny-dev
TALKDESK_REGION=us
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.staging.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.staging.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.staging.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/staging-relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-stage.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=staging-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=2044916
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::438740370364:role/medialive-role-jiminny-app-stage-stage
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=stage-jiminny-medialive
MEDIA_STREAMING_AWS_REGION=us-east-2
MEDIA_STREAMING_AWS_ACCOUNT_ID=438740370364
MEDIA_STREAMING_AWS_STATE_MACHINE=msi_state_machine
MEDIA_STREAMING_AWS_API_GATEWAY_ENDPOINT=https://znq8b5kgkd.execute-api.us-east-2.amazonaws.com/staging/
[ENV_SECRET]
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-east-1.recall.ai/api/
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# System Environment Variable defined in AWS
# RECALL_AI_API_KEY=
# RECALL_AI_WEBHOOK_SECRET=
# RECALL_AI_ZOOM_BOT_APP_ID=
# ZOOM_BOT_REDIRECT_URI=
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.qa.jiminny.com,https://app.qai.jiminny.com,https://jupiter.staging.jiminny.com,https://uranus.staging.jiminny.com'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder...
|
PhpStorm
|
faVsco.js – .env.staging
|
NULL
|
77079
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=staging
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.staging.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
SECURITY_HEADER_HSTS_ENABLE=true
CONTENT_SECURITY_POLICY_REPORT_URI=https://jmny.report-uri.com/r/d/csp/reportOnly
SECURITY_HEADER_CUSTOM_CSP=null
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-staging
LOGROCKET_APP_ID=ponxaf/platform-staging
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=staging.jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
OUTLOOK_URL=https://outlook.staging.jiminny.com
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
PLANHAT_ENABLED=
PLANHAT_TENANT_UUID=
PLANHAT_JIMINNY_JWT=
SESSION_DOMAIN=app.staging.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38483
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.staging.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
SLACK_APP_ID=A5YBAJ8TA
#SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
#[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=DHU7peAKRKG9YYOzXt_GZg
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
# Talkdesk OAuth configuration
# Basic auth
TALKDESK_APP_ID=d0582f3489224089bbb31be4d54cf49e
[ENV_SECRET]
TALKDESK_SCOPE="openid refresh_token apps:read account:read users:read reports:read recordings:read contacts:read data-reports:read events:read webhooks-trigger:write"
TALKDESK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/talkdesk
TALKDESK_SUBDOMAIN=jiminny-dev
TALKDESK_REGION=us
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.staging.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.staging.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.staging.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/staging-relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-stage.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=staging-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=2044916
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::438740370364:role/medialive-role-jiminny-app-stage-stage
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=stage-jiminny-medialive
MEDIA_STREAMING_AWS_REGION=us-east-2
MEDIA_STREAMING_AWS_ACCOUNT_ID=438740370364
MEDIA_STREAMING_AWS_STATE_MACHINE=msi_state_machine
MEDIA_STREAMING_AWS_API_GATEWAY_ENDPOINT=https://znq8b5kgkd.execute-api.us-east-2.amazonaws.com/staging/
[ENV_SECRET]
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-east-1.recall.ai/api/
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# System Environment Variable defined in AWS
# RECALL_AI_API_KEY=
# RECALL_AI_WEBHOOK_SECRET=
# RECALL_AI_ZOOM_BOT_APP_ID=
# ZOOM_BOT_REDIRECT_URI=
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.qa.jiminny.com,https://app.qai.jiminny.com,https://jupiter.staging.jiminny.com,https://uranus.staging.jiminny.com'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder
Commands, folder
Activities, folder
Analytics, folder
Calendars, folder
Crm, folder
Hubspot, folder
IntegrationApp, folder
Traits, folder
AddLayoutEntities.php, class
AutologDelayedCommand.php, class
BullhornCommandAbstract.php, abstract class
BullhornPingCommand.php, class...
|
PhpStorm
|
faVsco.js – .env.staging
|
NULL
|
77080
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=staging
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.staging.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
SECURITY_HEADER_HSTS_ENABLE=true
CONTENT_SECURITY_POLICY_REPORT_URI=https://jmny.report-uri.com/r/d/csp/reportOnly
SECURITY_HEADER_CUSTOM_CSP=null
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-staging
LOGROCKET_APP_ID=ponxaf/platform-staging
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=staging.jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
OUTLOOK_URL=https://outlook.staging.jiminny.com
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
PLANHAT_ENABLED=
PLANHAT_TENANT_UUID=
PLANHAT_JIMINNY_JWT=
SESSION_DOMAIN=app.staging.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38483
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.staging.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
SLACK_APP_ID=A5YBAJ8TA
#SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
#[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=DHU7peAKRKG9YYOzXt_GZg
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
# Talkdesk OAuth configuration
# Basic auth
TALKDESK_APP_ID=d0582f3489224089bbb31be4d54cf49e
[ENV_SECRET]
TALKDESK_SCOPE="openid refresh_token apps:read account:read users:read reports:read recordings:read contacts:read data-reports:read events:read webhooks-trigger:write"
TALKDESK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/talkdesk
TALKDESK_SUBDOMAIN=jiminny-dev
TALKDESK_REGION=us
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.staging.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.staging.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.staging.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/staging-relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-stage.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=staging-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=2044916
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::438740370364:role/medialive-role-jiminny-app-stage-stage
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=stage-jiminny-medialive
MEDIA_STREAMING_AWS_REGION=us-east-2
MEDIA_STREAMING_AWS_ACCOUNT_ID=438740370364
MEDIA_STREAMING_AWS_STATE_MACHINE=msi_state_machine
MEDIA_STREAMING_AWS_API_GATEWAY_ENDPOINT=https://znq8b5kgkd.execute-api.us-east-2.amazonaws.com/staging/
[ENV_SECRET]
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-east-1.recall.ai/api/
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# System Environment Variable defined in AWS
# RECALL_AI_API_KEY=
# RECALL_AI_WEBHOOK_SECRET=
# RECALL_AI_ZOOM_BOT_APP_ID=
# ZOOM_BOT_REDIRECT_URI=
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.qa.jiminny.com,https://app.qai.jiminny.com,https://jupiter.staging.jiminny.com,https://uranus.staging.jiminny.com'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…...
|
PhpStorm
|
faVsco.js – .env.staging
|
NULL
|
77081
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
DMSActivityMorerireroxToolsHelpcalMistorbookmarksJiminny …..vXStarredi• jiminny-x-integrati..8 platform-inner-teamE) Channels# ai-chapter# ai-team# alerts# backend# c-learning-peoplei confusion-clinic# curiosity_labadeal-insichts-dev# engineering# frontend# general# infra-changes# jiminny-bg8 people-with-copilo...8 people-with-zoom-# platform-team# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the Deople of iimi...ProtllesWindow& platform-inner-...& 10MessagesChannel OverviewMoreYesterdayjinnylaop Aor 22nd Added by GitHubNikolay Ivanov 3:24 PMнякой нещо да е настроивал по githubactions. Почна да прави къмити вместо менбез да съм му разрешевал?https:/github.com/lminnv/app/pull/1200//changes/a68f42f210859f838a4fdced451f750627besoioИли нещо аз не разбирам?0AA0e 20 replies Last reply 18...Nikolay Yankov 3:50PMreplied to a uhread: някои нешо ла е насто..лол. ами предлагам маи ла му заораним лапускам към всички ла вилятNikolav Yankov 9.38 AMЩе се забавя за дейлито. Започнете без Мен.Aneliva Angelova 9:43 AMIДобро утро, няма да успея да вляза влейлито. Пествам ньлжовете.Message & platform-inner-team+ Aa I..•) New TabAl reports promotion pages by nik• JY-9712 | Nuges to expire after on8 Jiminnyu Userpilot Logged-activityJY-20157 add not enough activ XPipelines - jiminny/app+ New Tab©github.com/jimjiminny / app 8<> Code87 Pull requests 31( Agents |© Actions•• Wiki © Security and quality 32 ~ Insights 3 Settings@ On April 24 we'll start using GitHub Copilot interaction data for Al model training unless you opt out. Review this update and manage your preferences in your GitHub account settings.JY-20157 add not enough activities notification #12011 •$1 Open LakyLak wants to merge 2 commits into master from JY-20157-AJ-report-not-send-notification@) Conversation o• Commits 2|- Checks 21E Files changed 13A © All commits +Q Filter files...apo/Console/Commands/Reports/AutomatedReportsCommand.ohp@ -61,21 +61,29 @ public function handle(): intv = Console/Commands/Renorts|Snow = Carbon: : now();E AutomatedReportsCommand...v Jobs/AutomatedReportsE RequestGenerateAskJiminnyR...SendReportNotGeneratedMail...v @ Listeners/AutomatedReports/U….E TrackAutomatedReportGener...v # Mail/ReportsS1sMondav = Snow->1SMonday)S1sr1rstDayUtMonth = Snow->day === 1;ScurrentMonth = Snow->month.// Check if the current month is a quarterly month (January, April, July, October)$isQuarterlyMonth = in_array($currentMonth, [1, 4, 7, 10], true);$this->logger->info(self::LOG_PREFIX . ' Checking conditions', [+ ReportNotGenerated.ohp |"1SMonday' => S1SMonday,~ E Services/Kiosk/AutomatedRepo…..AskJiminnyReportActivityServ…'isFirstDay0fMonth' => SisFirstDay0fMonth,'currentMonth' => ScurrentMonth.E AutomatedReportsService.php'isQuarterlyMonth' => SisQuarterlyMonth,~E resources/views/emails/reportsreport-not-generated.blade.php/I Process dailv revortsl• F tests/UnitSthis->processReports(AutomatedReportsService::FREQUENCYDAILY):~ Jobs/AutomatedReportsE ReguestGenerateAsk JiminnvR....v = listeners/AutomatedRenorts/U.₴ TrackAutomatedReportGener..v E Services/Kiosk/AutomatedRepo…..E AskJiminnyReportActivityServ....AutomatedReportsServiceActi…./ Process weekly renorts on Mondavcif (SisMondav) {64 +67 +74 +86 +@40@ Daily - Platform - nowQ Type to search100% C4 8• Fri 24 Apr 9:46:13• Checks pending Code • (Preview) -+384 -52 9000C 0 I 13 viewedSubmit review+10 -2 mane [ Viewed0 ...Snow = Carhon:.nowdSisMondav = Snow->1SMonday)"Sisweekend = $now->isWeekend():SisFirstDay0fMonth = Snow->day === 1;ScurrentMonth = Snow->month.SisManualTrigger = $this->option('report-id') !== null;// Check if the current month is a quarterly month (January, April, July, October)$isQuarterlyMonth = in_array($currentMonth, [1, 4, 7, 10], true);Sthis->loager->info(self::L0G PREFIX . ' Checkina conditions'. [I"isMonday' => SisMonday,'isweekend' => $isWeekend,'isFirstDay0fMonth' => $isFirstDay0fMonth,'currentMonth' => ScurrentMonth.l'isQuarterlyMonth' => SisQuarterlyMonth,/ Process dailv renorts on weekdavs onlv (skio Saturdav/Sundav)...// Manual triggers via --report-id bypass the weekend skip.if (I Sisweekend || SisManualTriager) {Sthis->processReports(AutomatedReportsService::FREQUENCY_DAILY):} else {ISthis->logger->info(self::L0G PREFIX . ' Skipping daily reports on weekend'):/ Process weekly renorts on Mondavslif (SisMonday) {...
|
PhpStorm
|
faVsco.js – .env.staging
|
NULL
|
77082
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=production
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
DB_HOST_REPLICA=db-read
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-production
LOGROCKET_APP_ID=ponxaf/platform-production
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
SECURITY_HEADER_HSTS_ENABLE=true
SECURITY_HEADER_CUSTOM_CSP=
OUTLOOK_URL=https://outlook.jiminny.com
VIDEO_CONSTANT_RATE_FACTOR=18
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
INTERCOM_APP_ID=nwqo8iaz
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
PLANHAT_ENABLED=true
PLANHAT_TENANT_UUID=9d4dd6a4-7544-4663-873b-5a120f3990e2
PLANHAT_JIMINNY_JWT=[JWT_TOKEN]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38484
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.jiminny.com/auth/callback/slack
[ENV_SECRET]
SLACK_APP_ID=A1GQA48F9
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.jiminny.com
[ENV_SECRET]
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
[ENV_SECRET]
BULLHORN_CLIENT_ID=
[ENV_SECRET]
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
[ENV_SECRET]
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=
[ENV_SECRET]
ZOOM_BOT_REDIRECT_URI=https://app.jiminny.com/auth/callback/zoom-bot-recall
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=
ZOOM_BOT_SECRET_TOKEN=
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
CHROME_WEB_STORE_EXT_ID=iiamdhkongjbodlgiofmclneebnocnki
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-prod-us.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=prod-us-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=7373214
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::410346195943:role/medialive-role-jiminny-app-prod-prod
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=jiminny-medialive
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-west-2.recall.ai/api/
[ENV_SECRET]
RECALL_AI_ZOOM_BOT_APP_ID=
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.jiminny.eu'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder
Commands, folder
Activities, folder
Analytics, folder
Calendars, folder
Crm, folder
Hubspot, folder
IntegrationApp, folder
Traits, folder
AddLayoutEntities.php, class
AutologDelayedCommand.php, class
BullhornCommandAbstract.php, abstract class
BullhornPingCommand.php, class
BullhornSearchCommand.php, class
BullhornSessionCommand.php, class
CheckActivityLoggableCommand.php, final class
CleanDuplicateFieldDataCommand.php, class
FullSyncOpportunityCommand.php, class
LogActivitiesCommand.php, final class
ManageSyncStrategyCommand.php, class
MatchCrmObjectsCommand.php, class
MatchOpportunityActivitiesCommand.php, class
MigrateProvider.php, class
ProcessHubspotObjectsSyncBatches.php, class
PurgeDeletedOpportunitiesCommand.php, class
ResetGovernorLimits.php, class
SendNotLogged.php, class
SetupActivityTypeForFollowUp.php, final class
SetupCloseCrm.php, class
SetupCopperCrm.php, class
SetupCrmCommand.php, abstract class
SetupLayouts.php, class
SyncAccount.php, class
SyncContact.php, class
SyncFieldMetadata.php, class
SyncHubspotActiveDeals.php, class
SyncHubspotObjects.php, class
SyncLead.php, class
SyncObjects.php, class
SyncOpportunitiesMissingFieldDataCommand.php, class
SyncOpportunity.php, class
SyncProfileMetadata.php, class
SyncTeamMetadata.php, class
UpdateOpportunitySpecifications.php, class
DealInsights, folder
Dev, folder
Dialers, folder
DTOs, folder
Elasticsearch, folder
EngagementStats, folder
GeckoExport, folder
Livestream, folder
Mailboxes, folder
Migrate, folder...
|
PhpStorm
|
faVsco.js – .env.production
|
NULL
|
77083
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=production
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
DB_HOST_REPLICA=db-read
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-production
LOGROCKET_APP_ID=ponxaf/platform-production
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
SECURITY_HEADER_HSTS_ENABLE=true
SECURITY_HEADER_CUSTOM_CSP=
OUTLOOK_URL=https://outlook.jiminny.com
VIDEO_CONSTANT_RATE_FACTOR=18
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
INTERCOM_APP_ID=nwqo8iaz
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
PLANHAT_ENABLED=true
PLANHAT_TENANT_UUID=9d4dd6a4-7544-4663-873b-5a120f3990e2
PLANHAT_JIMINNY_JWT=[JWT_TOKEN]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38484
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.jiminny.com/auth/callback/slack
[ENV_SECRET]
SLACK_APP_ID=A1GQA48F9
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.jiminny.com
[ENV_SECRET]
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
[ENV_SECRET]
BULLHORN_CLIENT_ID=
[ENV_SECRET]
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
[ENV_SECRET]
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=
[ENV_SECRET]
ZOOM_BOT_REDIRECT_URI=https://app.jiminny.com/auth/callback/zoom-bot-recall
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=
ZOOM_BOT_SECRET_TOKEN=
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
CHROME_WEB_STORE_EXT_ID=iiamdhkongjbodlgiofmclneebnocnki
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-prod-us.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=prod-us-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=7373214
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::410346195943:role/medialive-role-jiminny-app-prod-prod
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=jiminny-medialive
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-west-2.recall.ai/api/
[ENV_SECRET]
RECALL_AI_ZOOM_BOT_APP_ID=
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.jiminny.eu'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder
Commands, folder
Activities, folder
Analytics, folder
Calendars, folder
Crm, folder
Hubspot, folder
IntegrationApp, folder
Traits, folder
AddLayoutEntities.php, class
AutologDelayedCommand.php, class
BullhornCommandAbstract.php, abstract class
BullhornPingCommand.php, class
BullhornSearchCommand.php, class
BullhornSessionCommand.php, class
CheckActivityLoggableCommand.php, final class
CleanDuplicateFieldDataCommand.php, class
FullSyncOpportunityCommand.php, class
LogActivitiesCommand.php, final class
ManageSyncStrategyCommand.php, class
MatchCrmObjectsCommand.php, class
MatchOpportunityActivitiesCommand.php, class
MigrateProvider.php, class
ProcessHubspotObjectsSyncBatches.php, class
PurgeDeletedOpportunitiesCommand.php, class
ResetGovernorLimits.php, class
SendNotLogged.php, class
SetupActivityTypeForFollowUp.php, final class
SetupCloseCrm.php, class
SetupCopperCrm.php, class
SetupCrmCommand.php, abstract class
SetupLayouts.php, class
SyncAccount.php, class
SyncContact.php, class
SyncFieldMetadata.php, class
SyncHubspotActiveDeals.php, class
SyncHubspotObjects.php, class
SyncLead.php, class
SyncObjects.php, class
SyncOpportunitiesMissingFieldDataCommand.php, class
SyncOpportunity.php, class
SyncProfileMetadata.php, class
SyncTeamMetadata.php, class
UpdateOpportunitySpecifications.php, class
DealInsights, folder
Dev, folder
Dialers, folder
DTOs, folder
Elasticsearch, folder
EngagementStats, folder
GeckoExport, folder
Livestream, folder
Mailboxes, folder...
|
PhpStorm
|
faVsco.js – .env.production
|
NULL
|
77084
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=production
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
DB_HOST_REPLICA=db-read
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-production
LOGROCKET_APP_ID=ponxaf/platform-production
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
SECURITY_HEADER_HSTS_ENABLE=true
SECURITY_HEADER_CUSTOM_CSP=
OUTLOOK_URL=https://outlook.jiminny.com
VIDEO_CONSTANT_RATE_FACTOR=18
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
INTERCOM_APP_ID=nwqo8iaz
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
PLANHAT_ENABLED=true
PLANHAT_TENANT_UUID=9d4dd6a4-7544-4663-873b-5a120f3990e2
PLANHAT_JIMINNY_JWT=[JWT_TOKEN]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38484
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.jiminny.com/auth/callback/slack
[ENV_SECRET]
SLACK_APP_ID=A1GQA48F9
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.jiminny.com
[ENV_SECRET]
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
[ENV_SECRET]
BULLHORN_CLIENT_ID=
[ENV_SECRET]
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
[ENV_SECRET]
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=
[ENV_SECRET]
ZOOM_BOT_REDIRECT_URI=https://app.jiminny.com/auth/callback/zoom-bot-recall
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=
ZOOM_BOT_SECRET_TOKEN=
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
CHROME_WEB_STORE_EXT_ID=iiamdhkongjbodlgiofmclneebnocnki
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-prod-us.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=prod-us-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=7373214
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::410346195943:role/medialive-role-jiminny-app-prod-prod
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=jiminny-medialive
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-west-2.recall.ai/api/
[ENV_SECRET]
RECALL_AI_ZOOM_BOT_APP_ID=
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.jiminny.eu'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder...
|
PhpStorm
|
faVsco.js – .env.production
|
NULL
|
77085
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=production
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
DB_HOST_REPLICA=db-read
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-production
LOGROCKET_APP_ID=ponxaf/platform-production
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
SECURITY_HEADER_HSTS_ENABLE=true
SECURITY_HEADER_CUSTOM_CSP=
OUTLOOK_URL=https://outlook.jiminny.com
VIDEO_CONSTANT_RATE_FACTOR=18
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
INTERCOM_APP_ID=nwqo8iaz
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
PLANHAT_ENABLED=true
PLANHAT_TENANT_UUID=9d4dd6a4-7544-4663-873b-5a120f3990e2
PLANHAT_JIMINNY_JWT=[JWT_TOKEN]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38484
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.jiminny.com/auth/callback/slack
[ENV_SECRET]
SLACK_APP_ID=A1GQA48F9
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.jiminny.com
[ENV_SECRET]
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
[ENV_SECRET]
BULLHORN_CLIENT_ID=
[ENV_SECRET]
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
[ENV_SECRET]
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=
[ENV_SECRET]
ZOOM_BOT_REDIRECT_URI=https://app.jiminny.com/auth/callback/zoom-bot-recall
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=
ZOOM_BOT_SECRET_TOKEN=
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
CHROME_WEB_STORE_EXT_ID=iiamdhkongjbodlgiofmclneebnocnki
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-prod-us.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=prod-us-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=7373214
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::410346195943:role/medialive-role-jiminny-app-prod-prod
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=jiminny-medialive
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-west-2.recall.ai/api/
[ENV_SECRET]
RECALL_AI_ZOOM_BOT_APP_ID=
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.jiminny.eu'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder...
|
PhpStorm
|
faVsco.js – .env.production
|
NULL
|
77086
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=production
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
DB_HOST_REPLICA=db-read
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-production
LOGROCKET_APP_ID=ponxaf/platform-production
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
SECURITY_HEADER_HSTS_ENABLE=true
SECURITY_HEADER_CUSTOM_CSP=
OUTLOOK_URL=https://outlook.jiminny.com
VIDEO_CONSTANT_RATE_FACTOR=18
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
INTERCOM_APP_ID=nwqo8iaz
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
PLANHAT_ENABLED=true
PLANHAT_TENANT_UUID=9d4dd6a4-7544-4663-873b-5a120f3990e2
PLANHAT_JIMINNY_JWT=[JWT_TOKEN]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38484
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.jiminny.com/auth/callback/slack
[ENV_SECRET]
SLACK_APP_ID=A1GQA48F9
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.jiminny.com
[ENV_SECRET]
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
[ENV_SECRET]
BULLHORN_CLIENT_ID=
[ENV_SECRET]
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
[ENV_SECRET]
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=
[ENV_SECRET]
ZOOM_BOT_REDIRECT_URI=https://app.jiminny.com/auth/callback/zoom-bot-recall
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=
ZOOM_BOT_SECRET_TOKEN=
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
CHROME_WEB_STORE_EXT_ID=iiamdhkongjbodlgiofmclneebnocnki
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-prod-us.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=prod-us-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=7373214
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::410346195943:role/medialive-role-jiminny-app-prod-prod
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=jiminny-medialive
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-west-2.recall.ai/api/
[ENV_SECRET]
RECALL_AI_ZOOM_BOT_APP_ID=
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.jiminny.eu'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder
Commands, folder
Activities, folder
Analytics, folder
Calendars, folder
Crm, folder
Hubspot, folder
IntegrationApp, folder
Traits, folder
AddLayoutEntities.php, class
AutologDelayedCommand.php, class
BullhornCommandAbstract.php, abstract class
BullhornPingCommand.php, class
BullhornSearchCommand.php, class
BullhornSessionCommand.php, class
CheckActivityLoggableCommand.php, final class
CleanDuplicateFieldDataCommand.php, class
FullSyncOpportunityCommand.php, class
LogActivitiesCommand.php, final class
ManageSyncStrategyCommand.php, class
MatchCrmObjectsCommand.php, class
MatchOpportunityActivitiesCommand.php, class
MigrateProvider.php, class
ProcessHubspotObjectsSyncBatches.php, class
PurgeDeletedOpportunitiesCommand.php, class
ResetGovernorLimits.php, class
SendNotLogged.php, class
SetupActivityTypeForFollowUp.php, final class...
|
PhpStorm
|
faVsco.js – .env.production
|
NULL
|
77087
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=production
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
DB_HOST_REPLICA=db-read
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-production
LOGROCKET_APP_ID=ponxaf/platform-production
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
SECURITY_HEADER_HSTS_ENABLE=true
SECURITY_HEADER_CUSTOM_CSP=
OUTLOOK_URL=https://outlook.jiminny.com
VIDEO_CONSTANT_RATE_FACTOR=18
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
INTERCOM_APP_ID=nwqo8iaz
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
PLANHAT_ENABLED=true
PLANHAT_TENANT_UUID=9d4dd6a4-7544-4663-873b-5a120f3990e2
PLANHAT_JIMINNY_JWT=[JWT_TOKEN]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38484
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.jiminny.com/auth/callback/slack
[ENV_SECRET]
SLACK_APP_ID=A1GQA48F9
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.jiminny.com
[ENV_SECRET]
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
[ENV_SECRET]
BULLHORN_CLIENT_ID=
[ENV_SECRET]
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
[ENV_SECRET]
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=
[ENV_SECRET]
ZOOM_BOT_REDIRECT_URI=https://app.jiminny.com/auth/callback/zoom-bot-recall
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=
ZOOM_BOT_SECRET_TOKEN=
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
CHROME_WEB_STORE_EXT_ID=iiamdhkongjbodlgiofmclneebnocnki
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-prod-us.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=prod-us-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=7373214
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::410346195943:role/medialive-role-jiminny-app-prod-prod
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=jiminny-medialive
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-west-2.recall.ai/api/
[ENV_SECRET]
RECALL_AI_ZOOM_BOT_APP_ID=
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.jiminny.eu'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder
Commands, folder
Activities, folder
Analytics, folder
Calendars, folder...
|
PhpStorm
|
faVsco.js – .env.production
|
NULL
|
77088
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=staging
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.staging.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
SECURITY_HEADER_HSTS_ENABLE=true
CONTENT_SECURITY_POLICY_REPORT_URI=https://jmny.report-uri.com/r/d/csp/reportOnly
SECURITY_HEADER_CUSTOM_CSP=null
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-staging
LOGROCKET_APP_ID=ponxaf/platform-staging
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=staging.jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
OUTLOOK_URL=https://outlook.staging.jiminny.com
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
PLANHAT_ENABLED=
PLANHAT_TENANT_UUID=
PLANHAT_JIMINNY_JWT=
SESSION_DOMAIN=app.staging.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38483
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.staging.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
SLACK_APP_ID=A5YBAJ8TA
#SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
#[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=DHU7peAKRKG9YYOzXt_GZg
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
# Talkdesk OAuth configuration
# Basic auth
TALKDESK_APP_ID=d0582f3489224089bbb31be4d54cf49e
[ENV_SECRET]
TALKDESK_SCOPE="openid refresh_token apps:read account:read users:read reports:read recordings:read contacts:read data-reports:read events:read webhooks-trigger:write"
TALKDESK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/talkdesk
TALKDESK_SUBDOMAIN=jiminny-dev
TALKDESK_REGION=us
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.staging.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.staging.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.staging.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/staging-relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-stage.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=staging-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=2044916
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::438740370364:role/medialive-role-jiminny-app-stage-stage
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=stage-jiminny-medialive
MEDIA_STREAMING_AWS_REGION=us-east-2
MEDIA_STREAMING_AWS_ACCOUNT_ID=438740370364
MEDIA_STREAMING_AWS_STATE_MACHINE=msi_state_machine
MEDIA_STREAMING_AWS_API_GATEWAY_ENDPOINT=https://znq8b5kgkd.execute-api.us-east-2.amazonaws.com/staging/
[ENV_SECRET]
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-east-1.recall.ai/api/
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# System Environment Variable defined in AWS
# RECALL_AI_API_KEY=
# RECALL_AI_WEBHOOK_SECRET=
# RECALL_AI_ZOOM_BOT_APP_ID=
# ZOOM_BOT_REDIRECT_URI=
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.qa.jiminny.com,https://app.qai.jiminny.com,https://jupiter.staging.jiminny.com,https://uranus.staging.jiminny.com'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder...
|
PhpStorm
|
faVsco.js – .env.staging
|
NULL
|
77089
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=staging
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.staging.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
SECURITY_HEADER_HSTS_ENABLE=true
CONTENT_SECURITY_POLICY_REPORT_URI=https://jmny.report-uri.com/r/d/csp/reportOnly
SECURITY_HEADER_CUSTOM_CSP=null
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-staging
LOGROCKET_APP_ID=ponxaf/platform-staging
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=staging.jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
OUTLOOK_URL=https://outlook.staging.jiminny.com
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
PLANHAT_ENABLED=
PLANHAT_TENANT_UUID=
PLANHAT_JIMINNY_JWT=
SESSION_DOMAIN=app.staging.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38483
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.staging.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
SLACK_APP_ID=A5YBAJ8TA
#SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
#[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=DHU7peAKRKG9YYOzXt_GZg
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
# Talkdesk OAuth configuration
# Basic auth
TALKDESK_APP_ID=d0582f3489224089bbb31be4d54cf49e
[ENV_SECRET]
TALKDESK_SCOPE="openid refresh_token apps:read account:read users:read reports:read recordings:read contacts:read data-reports:read events:read webhooks-trigger:write"
TALKDESK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/talkdesk
TALKDESK_SUBDOMAIN=jiminny-dev
TALKDESK_REGION=us
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.staging.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.staging.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.staging.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/staging-relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-stage.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=staging-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=2044916
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::438740370364:role/medialive-role-jiminny-app-stage-stage
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=stage-jiminny-medialive
MEDIA_STREAMING_AWS_REGION=us-east-2
MEDIA_STREAMING_AWS_ACCOUNT_ID=438740370364
MEDIA_STREAMING_AWS_STATE_MACHINE=msi_state_machine
MEDIA_STREAMING_AWS_API_GATEWAY_ENDPOINT=https://znq8b5kgkd.execute-api.us-east-2.amazonaws.com/staging/
[ENV_SECRET]
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-east-1.recall.ai/api/
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# System Environment Variable defined in AWS
# RECALL_AI_API_KEY=
# RECALL_AI_WEBHOOK_SECRET=
# RECALL_AI_ZOOM_BOT_APP_ID=
# ZOOM_BOT_REDIRECT_URI=
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.qa.jiminny.com,https://app.qai.jiminny.com,https://jupiter.staging.jiminny.com,https://uranus.staging.jiminny.com'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder...
|
PhpStorm
|
faVsco.js – .env.staging
|
NULL
|
77090
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=production
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
DB_HOST_REPLICA=db-read
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-production
LOGROCKET_APP_ID=ponxaf/platform-production
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
SECURITY_HEADER_HSTS_ENABLE=true
SECURITY_HEADER_CUSTOM_CSP=
OUTLOOK_URL=https://outlook.jiminny.com
VIDEO_CONSTANT_RATE_FACTOR=18
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
INTERCOM_APP_ID=nwqo8iaz
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
PLANHAT_ENABLED=true
PLANHAT_TENANT_UUID=9d4dd6a4-7544-4663-873b-5a120f3990e2
PLANHAT_JIMINNY_JWT=[JWT_TOKEN]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38484
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.jiminny.com/auth/callback/slack
[ENV_SECRET]
SLACK_APP_ID=A1GQA48F9
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.jiminny.com
[ENV_SECRET]
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
[ENV_SECRET]
BULLHORN_CLIENT_ID=
[ENV_SECRET]
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
[ENV_SECRET]
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=
[ENV_SECRET]
ZOOM_BOT_REDIRECT_URI=https://app.jiminny.com/auth/callback/zoom-bot-recall
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=
ZOOM_BOT_SECRET_TOKEN=
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
CHROME_WEB_STORE_EXT_ID=iiamdhkongjbodlgiofmclneebnocnki
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-prod-us.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=prod-us-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=7373214
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::410346195943:role/medialive-role-jiminny-app-prod-prod
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=jiminny-medialive
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-west-2.recall.ai/api/
[ENV_SECRET]
RECALL_AI_ZOOM_BOT_APP_ID=
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.jiminny.eu'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder...
|
PhpStorm
|
faVsco.js – .env.production
|
NULL
|
77091
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=production
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
DB_HOST_REPLICA=db-read
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-production
LOGROCKET_APP_ID=ponxaf/platform-production
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
SECURITY_HEADER_HSTS_ENABLE=true
SECURITY_HEADER_CUSTOM_CSP=
OUTLOOK_URL=https://outlook.jiminny.com
VIDEO_CONSTANT_RATE_FACTOR=18
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
INTERCOM_APP_ID=nwqo8iaz
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
PLANHAT_ENABLED=true
PLANHAT_TENANT_UUID=9d4dd6a4-7544-4663-873b-5a120f3990e2
PLANHAT_JIMINNY_JWT=[JWT_TOKEN]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38484
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.jiminny.com/auth/callback/slack
[ENV_SECRET]
SLACK_APP_ID=A1GQA48F9
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.jiminny.com
[ENV_SECRET]
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
[ENV_SECRET]
BULLHORN_CLIENT_ID=
[ENV_SECRET]
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
[ENV_SECRET]
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=
[ENV_SECRET]
ZOOM_BOT_REDIRECT_URI=https://app.jiminny.com/auth/callback/zoom-bot-recall
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=
ZOOM_BOT_SECRET_TOKEN=
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
CHROME_WEB_STORE_EXT_ID=iiamdhkongjbodlgiofmclneebnocnki
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-prod-us.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=prod-us-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=7373214
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::410346195943:role/medialive-role-jiminny-app-prod-prod
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=jiminny-medialive
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-west-2.recall.ai/api/
[ENV_SECRET]
RECALL_AI_ZOOM_BOT_APP_ID=
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.jiminny.eu'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder...
|
PhpStorm
|
faVsco.js – .env.production
|
NULL
|
77092
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=staging
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.staging.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
SECURITY_HEADER_HSTS_ENABLE=true
CONTENT_SECURITY_POLICY_REPORT_URI=https://jmny.report-uri.com/r/d/csp/reportOnly
SECURITY_HEADER_CUSTOM_CSP=null
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-staging
LOGROCKET_APP_ID=ponxaf/platform-staging
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=staging.jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
OUTLOOK_URL=https://outlook.staging.jiminny.com
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
PLANHAT_ENABLED=
PLANHAT_TENANT_UUID=
PLANHAT_JIMINNY_JWT=
SESSION_DOMAIN=app.staging.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38483
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.staging.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
SLACK_APP_ID=A5YBAJ8TA
#SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
#[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=DHU7peAKRKG9YYOzXt_GZg
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
# Talkdesk OAuth configuration
# Basic auth
TALKDESK_APP_ID=d0582f3489224089bbb31be4d54cf49e
[ENV_SECRET]
TALKDESK_SCOPE="openid refresh_token apps:read account:read users:read reports:read recordings:read contacts:read data-reports:read events:read webhooks-trigger:write"
TALKDESK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/talkdesk
TALKDESK_SUBDOMAIN=jiminny-dev
TALKDESK_REGION=us
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.staging.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.staging.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.staging.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/staging-relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-stage.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=staging-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=2044916
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::438740370364:role/medialive-role-jiminny-app-stage-stage
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=stage-jiminny-medialive
MEDIA_STREAMING_AWS_REGION=us-east-2
MEDIA_STREAMING_AWS_ACCOUNT_ID=438740370364
MEDIA_STREAMING_AWS_STATE_MACHINE=msi_state_machine
MEDIA_STREAMING_AWS_API_GATEWAY_ENDPOINT=https://znq8b5kgkd.execute-api.us-east-2.amazonaws.com/staging/
[ENV_SECRET]
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-east-1.recall.ai/api/
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# System Environment Variable defined in AWS
# RECALL_AI_API_KEY=
# RECALL_AI_WEBHOOK_SECRET=
# RECALL_AI_ZOOM_BOT_APP_ID=
# ZOOM_BOT_REDIRECT_URI=
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.qa.jiminny.com,https://app.qai.jiminny.com,https://jupiter.staging.jiminny.com,https://uranus.staging.jiminny.com'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder
Commands, folder
Activities, folder
Analytics, folder
Calendars, folder
Crm, folder...
|
PhpStorm
|
faVsco.js – .env.staging
|
NULL
|
77093
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=staging
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.staging.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
SECURITY_HEADER_HSTS_ENABLE=true
CONTENT_SECURITY_POLICY_REPORT_URI=https://jmny.report-uri.com/r/d/csp/reportOnly
SECURITY_HEADER_CUSTOM_CSP=null
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-staging
LOGROCKET_APP_ID=ponxaf/platform-staging
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=staging.jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
OUTLOOK_URL=https://outlook.staging.jiminny.com
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
PLANHAT_ENABLED=
PLANHAT_TENANT_UUID=
PLANHAT_JIMINNY_JWT=
SESSION_DOMAIN=app.staging.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38483
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.staging.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
SLACK_APP_ID=A5YBAJ8TA
#SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
#[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=DHU7peAKRKG9YYOzXt_GZg
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
# Talkdesk OAuth configuration
# Basic auth
TALKDESK_APP_ID=d0582f3489224089bbb31be4d54cf49e
[ENV_SECRET]
TALKDESK_SCOPE="openid refresh_token apps:read account:read users:read reports:read recordings:read contacts:read data-reports:read events:read webhooks-trigger:write"
TALKDESK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/talkdesk
TALKDESK_SUBDOMAIN=jiminny-dev
TALKDESK_REGION=us
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.staging.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.staging.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.staging.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/staging-relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-stage.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=staging-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=2044916
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::438740370364:role/medialive-role-jiminny-app-stage-stage
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=stage-jiminny-medialive
MEDIA_STREAMING_AWS_REGION=us-east-2
MEDIA_STREAMING_AWS_ACCOUNT_ID=438740370364
MEDIA_STREAMING_AWS_STATE_MACHINE=msi_state_machine
MEDIA_STREAMING_AWS_API_GATEWAY_ENDPOINT=https://znq8b5kgkd.execute-api.us-east-2.amazonaws.com/staging/
[ENV_SECRET]
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-east-1.recall.ai/api/
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# System Environment Variable defined in AWS
# RECALL_AI_API_KEY=
# RECALL_AI_WEBHOOK_SECRET=
# RECALL_AI_ZOOM_BOT_APP_ID=
# ZOOM_BOT_REDIRECT_URI=
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.qa.jiminny.com,https://app.qai.jiminny.com,https://jupiter.staging.jiminny.com,https://uranus.staging.jiminny.com'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder
Commands, folder...
|
PhpStorm
|
faVsco.js – .env.staging
|
NULL
|
77094
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=staging
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.staging.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
SECURITY_HEADER_HSTS_ENABLE=true
CONTENT_SECURITY_POLICY_REPORT_URI=https://jmny.report-uri.com/r/d/csp/reportOnly
SECURITY_HEADER_CUSTOM_CSP=null
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-staging
LOGROCKET_APP_ID=ponxaf/platform-staging
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=staging.jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
OUTLOOK_URL=https://outlook.staging.jiminny.com
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
PLANHAT_ENABLED=
PLANHAT_TENANT_UUID=
PLANHAT_JIMINNY_JWT=
SESSION_DOMAIN=app.staging.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38483
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.staging.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
SLACK_APP_ID=A5YBAJ8TA
#SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
#[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=DHU7peAKRKG9YYOzXt_GZg
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
# Talkdesk OAuth configuration
# Basic auth
TALKDESK_APP_ID=d0582f3489224089bbb31be4d54cf49e
[ENV_SECRET]
TALKDESK_SCOPE="openid refresh_token apps:read account:read users:read reports:read recordings:read contacts:read data-reports:read events:read webhooks-trigger:write"
TALKDESK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/talkdesk
TALKDESK_SUBDOMAIN=jiminny-dev
TALKDESK_REGION=us
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.staging.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.staging.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.staging.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/staging-relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-stage.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=staging-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=2044916
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::438740370364:role/medialive-role-jiminny-app-stage-stage
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=stage-jiminny-medialive
MEDIA_STREAMING_AWS_REGION=us-east-2
MEDIA_STREAMING_AWS_ACCOUNT_ID=438740370364
MEDIA_STREAMING_AWS_STATE_MACHINE=msi_state_machine
MEDIA_STREAMING_AWS_API_GATEWAY_ENDPOINT=https://znq8b5kgkd.execute-api.us-east-2.amazonaws.com/staging/
[ENV_SECRET]
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-east-1.recall.ai/api/
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# System Environment Variable defined in AWS
# RECALL_AI_API_KEY=
# RECALL_AI_WEBHOOK_SECRET=
# RECALL_AI_ZOOM_BOT_APP_ID=
# ZOOM_BOT_REDIRECT_URI=
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.qa.jiminny.com,https://app.qai.jiminny.com,https://jupiter.staging.jiminny.com,https://uranus.staging.jiminny.com'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder
Commands, folder
Activities, folder
Analytics, folder
Calendars, folder
Crm, folder
Hubspot, folder
IntegrationApp, folder
Traits, folder
AddLayoutEntities.php, class
AutologDelayedCommand.php, class...
|
PhpStorm
|
faVsco.js – .env.staging
|
NULL
|
77095
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=staging
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.staging.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
SECURITY_HEADER_HSTS_ENABLE=true
CONTENT_SECURITY_POLICY_REPORT_URI=https://jmny.report-uri.com/r/d/csp/reportOnly
SECURITY_HEADER_CUSTOM_CSP=null
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-staging
LOGROCKET_APP_ID=ponxaf/platform-staging
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=staging.jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
OUTLOOK_URL=https://outlook.staging.jiminny.com
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
PLANHAT_ENABLED=
PLANHAT_TENANT_UUID=
PLANHAT_JIMINNY_JWT=
SESSION_DOMAIN=app.staging.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38483
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.staging.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
SLACK_APP_ID=A5YBAJ8TA
#SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
#[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=DHU7peAKRKG9YYOzXt_GZg
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
# Talkdesk OAuth configuration
# Basic auth
TALKDESK_APP_ID=d0582f3489224089bbb31be4d54cf49e
[ENV_SECRET]
TALKDESK_SCOPE="openid refresh_token apps:read account:read users:read reports:read recordings:read contacts:read data-reports:read events:read webhooks-trigger:write"
TALKDESK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/talkdesk
TALKDESK_SUBDOMAIN=jiminny-dev
TALKDESK_REGION=us
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.staging.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.staging.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.staging.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/staging-relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-stage.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=staging-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=2044916
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::438740370364:role/medialive-role-jiminny-app-stage-stage
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=stage-jiminny-medialive
MEDIA_STREAMING_AWS_REGION=us-east-2
MEDIA_STREAMING_AWS_ACCOUNT_ID=438740370364
MEDIA_STREAMING_AWS_STATE_MACHINE=msi_state_machine
MEDIA_STREAMING_AWS_API_GATEWAY_ENDPOINT=https://znq8b5kgkd.execute-api.us-east-2.amazonaws.com/staging/
[ENV_SECRET]
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-east-1.recall.ai/api/
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# System Environment Variable defined in AWS
# RECALL_AI_API_KEY=
# RECALL_AI_WEBHOOK_SECRET=
# RECALL_AI_ZOOM_BOT_APP_ID=
# ZOOM_BOT_REDIRECT_URI=
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.qa.jiminny.com,https://app.qai.jiminny.com,https://jupiter.staging.jiminny.com,https://uranus.staging.jiminny.com'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder
Commands, folder
Activities, folder
Analytics, folder
Calendars, folder
Crm, folder...
|
PhpStorm
|
faVsco.js – .env.staging
|
NULL
|
77096
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=staging
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.staging.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
SECURITY_HEADER_HSTS_ENABLE=true
CONTENT_SECURITY_POLICY_REPORT_URI=https://jmny.report-uri.com/r/d/csp/reportOnly
SECURITY_HEADER_CUSTOM_CSP=null
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-staging
LOGROCKET_APP_ID=ponxaf/platform-staging
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=staging.jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
OUTLOOK_URL=https://outlook.staging.jiminny.com
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
PLANHAT_ENABLED=
PLANHAT_TENANT_UUID=
PLANHAT_JIMINNY_JWT=
SESSION_DOMAIN=app.staging.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38483
[ENV_SECRET]
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.staging.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
#[ENV_SECRET]
[ENV_SECRET]
#[ENV_SECRET]
SLACK_APP_ID=A5YBAJ8TA
#SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
#[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.staging.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_REDIRECT_URI=https://app.staging.jiminny.com/auth/callback/zoom-phone
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=lKHL2yc0R3SDjX4b__JomA
[ENV_SECRET]
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=DHU7peAKRKG9YYOzXt_GZg
[ENV_SECRET]
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_SALESFORCE_TEST_ENABLED=false
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
# Talkdesk OAuth configuration
# Basic auth
TALKDESK_APP_ID=d0582f3489224089bbb31be4d54cf49e
[ENV_SECRET]
TALKDESK_SCOPE="openid refresh_token apps:read account:read users:read reports:read recordings:read contacts:read data-reports:read events:read webhooks-trigger:write"
TALKDESK_REDIRECT_URI=https://app.dev.jiminny.com/auth/callback/talkdesk
TALKDESK_SUBDOMAIN=jiminny-dev
TALKDESK_REGION=us
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.staging.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.staging.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.staging.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/staging-relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.staging.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-stage.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=staging-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=2044916
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::438740370364:role/medialive-role-jiminny-app-stage-stage
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=stage-jiminny-medialive
MEDIA_STREAMING_AWS_REGION=us-east-2
MEDIA_STREAMING_AWS_ACCOUNT_ID=438740370364
MEDIA_STREAMING_AWS_STATE_MACHINE=msi_state_machine
MEDIA_STREAMING_AWS_API_GATEWAY_ENDPOINT=https://znq8b5kgkd.execute-api.us-east-2.amazonaws.com/staging/
[ENV_SECRET]
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=stage-jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=stage-jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-east-1.recall.ai/api/
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# System Environment Variable defined in AWS
# RECALL_AI_API_KEY=
# RECALL_AI_WEBHOOK_SECRET=
# RECALL_AI_ZOOM_BOT_APP_ID=
# ZOOM_BOT_REDIRECT_URI=
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.qa.jiminny.com,https://app.qai.jiminny.com,https://jupiter.staging.jiminny.com,https://uranus.staging.jiminny.com'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
PhpStorm
|
faVsco.js – .env.staging
|
NULL
|
77097
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
DMSActivityMorerireroxToolsHelpcalMistorbookmarksJiminny …..vXStarredi• jiminny-x-integrati..8 platform-inner-teamE) Channels# ai-chapter# ai-team# alerts# backend# c-learning-peoplei confusion-clinic# curiosity_labadeal-insichts-dev# engineering# frontend# general# infra-changes# jiminny-bg8 people-with-copilo...8 people-with-zoom-# platform-team# platform-tickets# product_launches# random# releases# sofia-office# support# thank-yous# the Deople of iimi...ProtllesWindow& platform-inner-...& 10MessagesChannel OverviewMoreYesterdayjinnylaop Aor 22nd Added by GitHubNikolay Ivanov 3:24 PMнякой нещо да е настроивал по githubactions. Почна да прави къмити вместо менбез да съм му разрешевал?https:/github.com/lminnv/app/pull/1200//changes/a68f42f210859f838a4fdced451f750627besoioИли нещо аз не разбирам?0AA0e 20 replies Last reply 18...Nikolay Yankov 3:50PMreplied to a uhread: някои нешо ла е насто..лол. ами предлагам маи ла му заораним лапускам към всички ла вилятNikolav Yankov 9.38 AMЩе се забавя за дейлито. Започнете без Мен.Aneliva Angelova 9:43 AMIДобро утро, няма да успея да вляза влейлито. Пествам ньлжовете.Message & platform-inner-team+ Aa I..•) New TabAl reports promotion pages by nik• JY-9712 | Nuges to expire after on8 Jiminnyu Userpilot Logged-activityJY-20157 add not enough activ XPipelines - jiminny/app+ New Tab©github.com/jimjiminny / app 8<> Code87 Pull requests 31( Agents |© Actions•• Wiki © Security and quality 32 ~ Insights 3 Settings@ On April 24 we'll start using GitHub Copilot interaction data for Al model training unless you opt out. Review this update and manage your preferences in your GitHub account settings.JY-20157 add not enough activities notification #12011 •$1 Open LakyLak wants to merge 2 commits into master from JY-20157-AJ-report-not-send-notification@) Conversation o• Commits 2|- Checks 21E Files changed 13A © All commits +Q Filter files...apo/Console/Commands/Reports/AutomatedReportsCommand.ohp@ -61,21 +61,29 @ public function handle(): intv = Console/Commands/Renorts|Snow = Carbon: : now();E AutomatedReportsCommand...v Jobs/AutomatedReportsE RequestGenerateAskJiminnyR...SendReportNotGeneratedMail...v @ Listeners/AutomatedReports/U….E TrackAutomatedReportGener...v # Mail/ReportsS1sMondav = Snow->1SMonday)S1sr1rstDayUtMonth = Snow->day === 1;ScurrentMonth = Snow->month.// Check if the current month is a quarterly month (January, April, July, October)$isQuarterlyMonth = in_array($currentMonth, [1, 4, 7, 10], true);$this->logger->info(self::LOG_PREFIX . ' Checking conditions', [+ ReportNotGenerated.ohp |"1SMonday' => S1SMonday,~ E Services/Kiosk/AutomatedRepo…..AskJiminnyReportActivityServ…'isFirstDay0fMonth' => SisFirstDay0fMonth,'currentMonth' => ScurrentMonth.E AutomatedReportsService.php'isQuarterlyMonth' => SisQuarterlyMonth,~E resources/views/emails/reportsreport-not-generated.blade.php/I Process dailv revortsl• F tests/UnitSthis->processReports(AutomatedReportsService::FREQUENCYDAILY):~ Jobs/AutomatedReportsE ReguestGenerateAsk JiminnvR....v = listeners/AutomatedRenorts/U.₴ TrackAutomatedReportGener..v E Services/Kiosk/AutomatedRepo…..E AskJiminnyReportActivityServ....AutomatedReportsServiceActi…./ Process weekly renorts on Mondavcif (SisMondav) {64 +67 +74 +86 +@40@ Daily - Platform - nowQ Type to search100% C4 8• Fri 24 Apr 9:46:13• Checks pending Code • (Preview) -+384 -52 9000C 0 I 13 viewedSubmit review+10 -2 mane [ Viewed0 ...Snow = Carhon:.nowdSisMondav = Snow->1SMonday)"Sisweekend = $now->isWeekend():SisFirstDay0fMonth = Snow->day === 1;ScurrentMonth = Snow->month.SisManualTrigger = $this->option('report-id') !== null;// Check if the current month is a quarterly month (January, April, July, October)$isQuarterlyMonth = in_array($currentMonth, [1, 4, 7, 10], true);Sthis->loager->info(self::L0G PREFIX . ' Checkina conditions'. [I"isMonday' => SisMonday,'isweekend' => $isWeekend,'isFirstDay0fMonth' => $isFirstDay0fMonth,'currentMonth' => ScurrentMonth.l'isQuarterlyMonth' => SisQuarterlyMonth,/ Process dailv renorts on weekdavs onlv (skio Saturdav/Sundav)...// Manual triggers via --report-id bypass the weekend skip.if (I Sisweekend || SisManualTriager) {Sthis->processReports(AutomatedReportsService::FREQUENCY_DAILY):} else {ISthis->logger->info(self::L0G PREFIX . ' Skipping daily reports on weekend'):/ Process weekly renorts on Mondavslif (SisMonday) {...
|
PhpStorm
|
faVsco.js – .env.staging
|
NULL
|
77098
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
APP_ENV=production
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.jiminny.eu
AWS_DEFAULT_REGION=eu-west-1
APP_REGION=eu-west-1
APP_DEPLOY_REGION=eu
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
DB_HOST_REPLICA=db-read
DB_CONNECTION_OHIO=ohio
DB_HOST_OHIO=db
DB_PORT_OHIO=3306
DB_DATABASE_OHIO=jiminny
DB_USERNAME_OHIO=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-eu
LOGROCKET_APP_ID=ponxaf/platform-eu
MAIL_MAILER=ses
MAIL_HOST=email-smtp.eu-west-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=jiminny.eu
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
SECURITY_HEADER_HSTS_ENABLE=true
SECURITY_HEADER_CUSTOM_CSP=
OUTLOOK_URL=https://outlook.jiminny.eu
VIDEO_CONSTANT_RATE_FACTOR=18
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=eu
INTERCOM_APP_ID=nwqo8iaz
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
PLANHAT_ENABLED=true
PLANHAT_TENANT_UUID=9d4dd6a4-7544-4663-873b-5a120f3990e2
PLANHAT_JIMINNY_JWT=[JWT_TOKEN]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.jiminny.eu
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.jiminny.eu/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38484
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.jiminny.eu/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.jiminny.eu/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.jiminny.eu/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.jiminny.eu/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.jiminny.eu/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.jiminny.eu/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.jiminny.eu/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.jiminny.eu/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.qa.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.jiminny.eu/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.jiminny.eu/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=
[ENV_SECRET]
ZOOM_BOT_REDIRECT_URI=https://app.jiminny.eu/auth/callback/zoom-bot-recall
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=
ZOOM_BOT_SECRET_TOKEN=
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='app.jiminny.eu'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=eu-west-1
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.jiminny.eu/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.jiminny.eu/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.eu.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-prod-eu.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=prod-eu-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=eu-west-1
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=6432630
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::765720199711:role/medialive-role-jiminny-app-eu-prod-eu-prod
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=eu-west-1
MEDIA_LIVE_S3_BUCKET=jiminny-eu-medialive
MEDIA_STREAMING_AWS_IVS_REGION=eu-west-1
[ENV_SECRET]
UPLOADER_S3_REGION=eu-west-1
UPLOADER_S3_BUCKET=jiminny-eu-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=eu-west-1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=eu-west-1
S3_FIVE9_BUCKET=jiminny-eu-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://eu-central-1.recall.ai/api/
[ENV_SECRET]
RECALL_AI_ZOOM_BOT_APP_ID=
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# should be same accross instances
[ENV_SECRET]
## EU is just a reciever, no forward
HUBSPOT_WEBHOOK_FORWARD_URLS=
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder
Uploader, folder
UrlGenerator, folder
Utility, folder
Uuid, folder
Waveform, folder
Webhooks, folder
Workflow, folder
Configuration, folder
Console, folder
Commands, folder
Activities, folder
Analytics, folder
Calendars, folder
Crm, folder
Hubspot, folder
IntegrationApp, folder
Traits, folder
AddLayoutEntities.php, class
AutologDelayedCommand.php, class
BullhornCommandAbstract.php, abstract class
BullhornPingCommand.php, class
BullhornSearchCommand.php, class
BullhornSessionCommand.php, class
CheckActivityLoggableCommand.php, final class
CleanDuplicateFieldDataCommand.php, class
FullSyncOpportunityCommand.php, class
LogActivitiesCommand.php, final class
ManageSyncStrategyCommand.php, class
MatchCrmObjectsCommand.php, class
MatchOpportunityActivitiesCommand.php, class
MigrateProvider.php, class
ProcessHubspotObjectsSyncBatches.php, class
PurgeDeletedOpportunitiesCommand.php, class
ResetGovernorLimits.php, class
SendNotLogged.php, class
SetupActivityTypeForFollowUp.php, final class
SetupCloseCrm.php, class
SetupCopperCrm.php, class
SetupCrmCommand.php, abstract class
SetupLayouts.php, class
SyncAccount.php, class
SyncContact.php, class
SyncFieldMetadata.php, class
SyncHubspotActiveDeals.php, class
SyncHubspotObjects.php, class
SyncLead.php, class
SyncObjects.php, class
SyncOpportunitiesMissingFieldDataCommand.php, class
SyncOpportunity.php, class
SyncProfileMetadata.php, class
SyncTeamMetadata.php, class
UpdateOpportunitySpecifications.php, class
DealInsights, folder
Dev, folder
Dialers, folder
DTOs, folder
Elasticsearch, folder
EngagementStats, folder
GeckoExport, folder
Livestream, folder
Mailboxes, folder
Migrate, folder
PlaybackThemes, folder
Playbooks, folder
Playlists, folder
Postmark, folder
ProphetAi, folder
Reports, folder
AutomatedReportsCommand.php, class
AutomatedReportsRetentionPolicyCommand.php, class
AutomatedReportsSendCommand.php, class
CreateMockAskJiminnyReportResultCommand.php, class
DeleteReportCommand.php, class
GenerateMarketingReport.php, class
Team.php, class
Usage.php, class
Slack, folder
Teams, folder
Tracks, folder
Transcription, folder
Twilio, folder
Users, folder
Vocabulary, folder
Zoom, folder
CoachingFeedbacksUpdateEsActivities.php, class
Command.php, class
CreateDatabaseUsers.php, class
DatabaseTableCount.php, class
DeleteOldAiCrmNotesCommand.php, class
DeleteS3LeftoversCommand.php, class
DevPostmanCommand.php, final class
DiarizeViaAiParticipantIdentificationCommand.php, class
EncryptTokensCommand.php, class
EngagementStatsRegenerateCommand.php, class
FeatureFlagsHelper.php
FixCrossTenantIssues.php, class
FlushRolesPermissionsCache.php, class
GenerateInternalWebhookToken.php, class
GroupSetDefaultLanguageCommand.php, final class
HelperTruncateCoachingTables.php, class
HubspotJournalPollingCommand.php, class
HubspotWebhookServiceCommand.php, class
ImportRecording.php, class
ImportUsersFromCsvFile.php, final class
IterateUsersCommand.php, abstract class
JiminnyCacheClearCommand.php, class
JiminnyDebugCommand.php, class
JiminnySetEncryptedTokenManagerModeCommand.php, class
JiminnyTokenInfoCommand.php, class
MakeSlackLiveCoachingChatNotesOn.php, class
ManageScimForTeam.php, class
MarkBranchForEnvironmentPipelineCommand.php, class
MuteOrganizerChannel.php, class
PhpApm.php, class
PropagateCoachingFeedbackCreatedAtToSectionFeedbacks.php, class
PurgeConferences.php, class
PurgeSoftDeletedOpportunitiesCommand.php, class
PurgeSyncBatchesCommand.php, class
RecalculateDealRisksCommand.php, class
RemoveDeleteMarkersCommand.php, class
RemoveExpiredNudgesCommand.php, class
RemoveUnusedParticipantSpeechesCommand.php, class
ResetElasticSearch.php, class
RestoreActivityCrmProviderIdCommand.php, class...
|
PhpStorm
|
faVsco.js – .env.production-eu
|
NULL
|
77099
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
APP_ENV=production
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.jiminny.eu
AWS_DEFAULT_REGION=eu-west-1
APP_REGION=eu-west-1
APP_DEPLOY_REGION=eu
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
DB_HOST_REPLICA=db-read
DB_CONNECTION_OHIO=ohio
DB_HOST_OHIO=db
DB_PORT_OHIO=3306
DB_DATABASE_OHIO=jiminny
DB_USERNAME_OHIO=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-eu
LOGROCKET_APP_ID=ponxaf/platform-eu
MAIL_MAILER=ses
MAIL_HOST=email-smtp.eu-west-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=jiminny.eu
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
SECURITY_HEADER_HSTS_ENABLE=true
SECURITY_HEADER_CUSTOM_CSP=
OUTLOOK_URL=https://outlook.jiminny.eu
VIDEO_CONSTANT_RATE_FACTOR=18
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=eu
INTERCOM_APP_ID=nwqo8iaz
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
PLANHAT_ENABLED=true
PLANHAT_TENANT_UUID=9d4dd6a4-7544-4663-873b-5a120f3990e2
PLANHAT_JIMINNY_JWT=[JWT_TOKEN]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.jiminny.eu
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.jiminny.eu/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38484
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.jiminny.eu/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.jiminny.eu/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.jiminny.eu/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.jiminny.eu/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.jiminny.eu/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.jiminny.eu/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.jiminny.eu/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.jiminny.eu/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.qa.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.jiminny.eu/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.jiminny.eu/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=
[ENV_SECRET]
ZOOM_BOT_REDIRECT_URI=https://app.jiminny.eu/auth/callback/zoom-bot-recall
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=
ZOOM_BOT_SECRET_TOKEN=
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='app.jiminny.eu'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=eu-west-1
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.jiminny.eu/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.jiminny.eu/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.eu.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-prod-eu.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=prod-eu-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=eu-west-1
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=6432630
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::765720199711:role/medialive-role-jiminny-app-eu-prod-eu-prod
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=eu-west-1
MEDIA_LIVE_S3_BUCKET=jiminny-eu-medialive
MEDIA_STREAMING_AWS_IVS_REGION=eu-west-1
[ENV_SECRET]
UPLOADER_S3_REGION=eu-west-1
UPLOADER_S3_BUCKET=jiminny-eu-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=eu-west-1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=eu-west-1
S3_FIVE9_BUCKET=jiminny-eu-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://eu-central-1.recall.ai/api/
[ENV_SECRET]
RECALL_AI_ZOOM_BOT_APP_ID=
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# should be same accross instances
[ENV_SECRET]
## EU is just a reciever, no forward
HUBSPOT_WEBHOOK_FORWARD_URLS=
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder...
|
PhpStorm
|
faVsco.js – .env.production-eu
|
NULL
|
77100
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
APP_ENV=production
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.jiminny.eu
AWS_DEFAULT_REGION=eu-west-1
APP_REGION=eu-west-1
APP_DEPLOY_REGION=eu
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
DB_HOST_REPLICA=db-read
DB_CONNECTION_OHIO=ohio
DB_HOST_OHIO=db
DB_PORT_OHIO=3306
DB_DATABASE_OHIO=jiminny
DB_USERNAME_OHIO=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-eu
LOGROCKET_APP_ID=ponxaf/platform-eu
MAIL_MAILER=ses
MAIL_HOST=email-smtp.eu-west-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=jiminny.eu
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
SECURITY_HEADER_HSTS_ENABLE=true
SECURITY_HEADER_CUSTOM_CSP=
OUTLOOK_URL=https://outlook.jiminny.eu
VIDEO_CONSTANT_RATE_FACTOR=18
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=eu
INTERCOM_APP_ID=nwqo8iaz
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
PLANHAT_ENABLED=true
PLANHAT_TENANT_UUID=9d4dd6a4-7544-4663-873b-5a120f3990e2
PLANHAT_JIMINNY_JWT=[JWT_TOKEN]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.jiminny.eu
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.jiminny.eu/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38484
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.jiminny.eu/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.jiminny.eu/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.jiminny.eu/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.jiminny.eu/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.jiminny.eu/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.jiminny.eu/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.jiminny.eu/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.jiminny.eu/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.qa.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.jiminny.eu/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.jiminny.eu/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=
[ENV_SECRET]
ZOOM_BOT_REDIRECT_URI=https://app.jiminny.eu/auth/callback/zoom-bot-recall
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=
ZOOM_BOT_SECRET_TOKEN=
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='app.jiminny.eu'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=eu-west-1
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.jiminny.eu/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.jiminny.eu/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.eu.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-prod-eu.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=prod-eu-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=eu-west-1
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=6432630
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::765720199711:role/medialive-role-jiminny-app-eu-prod-eu-prod
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=eu-west-1
MEDIA_LIVE_S3_BUCKET=jiminny-eu-medialive
MEDIA_STREAMING_AWS_IVS_REGION=eu-west-1
[ENV_SECRET]
UPLOADER_S3_REGION=eu-west-1
UPLOADER_S3_BUCKET=jiminny-eu-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=eu-west-1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=eu-west-1
S3_FIVE9_BUCKET=jiminny-eu-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://eu-central-1.recall.ai/api/
[ENV_SECRET]
RECALL_AI_ZOOM_BOT_APP_ID=
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# should be same accross instances
[ENV_SECRET]
## EU is just a reciever, no forward
HUBSPOT_WEBHOOK_FORWARD_URLS=
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder
Seeder, folder
Sentry, folder
Serializer, folder
Settings, folder
Sidekick, folder
Slack, folder
TeamInsights, folder
TimeMemoryMapper, folder
Transcription, folder
TranscriptionSummary, folder
Twilio, folder...
|
PhpStorm
|
faVsco.js – .env.production-eu
|
NULL
|
77101
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
APP_ENV=production
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.jiminny.eu
AWS_DEFAULT_REGION=eu-west-1
APP_REGION=eu-west-1
APP_DEPLOY_REGION=eu
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
DB_HOST_REPLICA=db-read
DB_CONNECTION_OHIO=ohio
DB_HOST_OHIO=db
DB_PORT_OHIO=3306
DB_DATABASE_OHIO=jiminny
DB_USERNAME_OHIO=root
[ENV_SECRET]
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-eu
LOGROCKET_APP_ID=ponxaf/platform-eu
MAIL_MAILER=ses
MAIL_HOST=email-smtp.eu-west-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=jiminny.eu
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
SECURITY_HEADER_HSTS_ENABLE=true
SECURITY_HEADER_CUSTOM_CSP=
OUTLOOK_URL=https://outlook.jiminny.eu
VIDEO_CONSTANT_RATE_FACTOR=18
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=eu
INTERCOM_APP_ID=nwqo8iaz
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
PLANHAT_ENABLED=true
PLANHAT_TENANT_UUID=9d4dd6a4-7544-4663-873b-5a120f3990e2
PLANHAT_JIMINNY_JWT=[JWT_TOKEN]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.jiminny.eu
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.jiminny.eu/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38484
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.jiminny.eu/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.jiminny.eu/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.jiminny.eu/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.jiminny.eu/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.jiminny.eu/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.jiminny.eu/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.jiminny.eu/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.jiminny.eu/auth/callback/slack
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
SLACK_APP_ID=A1GQA48F9
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.jiminny.eu/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.qa.jiminny.com
[ENV_SECRET]
[ENV_SECRET]
OUTREACH_REDIRECT_URI=https://app.jiminny.eu/auth/callback/outreach
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
OUTREACH_APP_ID=c6399204e2cd687a3c7e32c542933d2933b4b05657f30e2c6b2b12639e2519c3
BULLHORN_CLIENT_ID=29deb258-d44b-426e-a3d1-5ccfb846b07a
[ENV_SECRET]
BULLHORN_REDIRECT_URI=https://app.jiminny.eu/auth/callback/bullhorn
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=0
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS=0
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS=0
[ENV_SECRET]
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=
[ENV_SECRET]
ZOOM_BOT_REDIRECT_URI=https://app.jiminny.eu/auth/callback/zoom-bot-recall
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=
ZOOM_BOT_SECRET_TOKEN=
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
CHROME_WEB_STORE_EXT_ID=dccmccckblpfjiljnpephmlfhpmiamkd
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='app.jiminny.eu'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=eu-west-1
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.jiminny.eu/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.jiminny.eu/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
SILENCE_FILL=sin(10*2*PI*t)*sin(880*2*PI*t)
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.eu.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-prod-eu.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=prod-eu-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=eu-west-1
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=6432630
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::765720199711:role/medialive-role-jiminny-app-eu-prod-eu-prod
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=eu-west-1
MEDIA_LIVE_S3_BUCKET=jiminny-eu-medialive
MEDIA_STREAMING_AWS_IVS_REGION=eu-west-1
[ENV_SECRET]
UPLOADER_S3_REGION=eu-west-1
UPLOADER_S3_BUCKET=jiminny-eu-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
KMS_AWS_REGION=eu-west-1
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=eu-west-1
S3_FIVE9_BUCKET=jiminny-eu-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
ENCRYPTED_TOKEN_MANAGER_MODE=legacy
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://eu-central-1.recall.ai/api/
[ENV_SECRET]
RECALL_AI_ZOOM_BOT_APP_ID=
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# should be same accross instances
[ENV_SECRET]
## EU is just a reciever, no forward
HUBSPOT_WEBHOOK_FORWARD_URLS=
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder...
|
PhpStorm
|
faVsco.js – .env.production-eu
|
NULL
|
77102
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=production
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
DB_HOST_REPLICA=db-read
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-production
LOGROCKET_APP_ID=ponxaf/platform-production
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
SECURITY_HEADER_HSTS_ENABLE=true
SECURITY_HEADER_CUSTOM_CSP=
OUTLOOK_URL=https://outlook.jiminny.com
VIDEO_CONSTANT_RATE_FACTOR=18
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
INTERCOM_APP_ID=nwqo8iaz
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
PLANHAT_ENABLED=true
PLANHAT_TENANT_UUID=9d4dd6a4-7544-4663-873b-5a120f3990e2
PLANHAT_JIMINNY_JWT=[JWT_TOKEN]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38484
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.jiminny.com/auth/callback/slack
[ENV_SECRET]
SLACK_APP_ID=A1GQA48F9
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.jiminny.com
[ENV_SECRET]
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
[ENV_SECRET]
BULLHORN_CLIENT_ID=
[ENV_SECRET]
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
[ENV_SECRET]
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=
[ENV_SECRET]
ZOOM_BOT_REDIRECT_URI=https://app.jiminny.com/auth/callback/zoom-bot-recall
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=
ZOOM_BOT_SECRET_TOKEN=
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
CHROME_WEB_STORE_EXT_ID=iiamdhkongjbodlgiofmclneebnocnki
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-prod-us.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=prod-us-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=7373214
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::410346195943:role/medialive-role-jiminny-app-prod-prod
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=jiminny-medialive
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-west-2.recall.ai/api/
[ENV_SECRET]
RECALL_AI_ZOOM_BOT_APP_ID=
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.jiminny.eu'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder
ParticipantSpeech, folder
PartitionedCookie, folder
PlaybackPage, folder
Playlist, folder
Prophet, folder
ProphetAi, folder
ProsperWorks, folder
Queue, folder
Router, folder
Saml2, folder
SCIM, folder...
|
PhpStorm
|
faVsco.js – .env.production
|
NULL
|
77103
|
|
Project: faVsco.js, menu
JY-20738-debug-AJ-trackin Project: faVsco.js, menu
JY-20738-debug-AJ-tracking-UP, menu
Start Listening for PHP Debug Connections
ReportControllerTest
Run 'ReportControllerTest'
Debug 'ReportControllerTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
USERPI
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/2
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
APP_ENV=production
[ENV_SECRET]
APP_DEBUG=false
LOG_CHANNEL=errorlog
LOG_LEVEL=info
APP_URL=https://app.jiminny.com
AWS_DEFAULT_REGION=us-east-2
APP_REGION=us-east-2
APP_DEPLOY_REGION=us
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=jiminny
DB_USERNAME=root
[ENV_SECRET]
DB_HOST_REPLICA=db-read
CASHIER_MODEL=Jiminny\Models\User
BROADCAST_DRIVER=pusher
CACHE_DRIVER=redis
CACHE_PREFIX=jmny:
SESSION_DRIVER=redis
QUEUE_CONNECTION=sqs
GITHUB_TOKEN=null
REDIS_CLIENT=phpredis
REDIS_HOST=REDIS_ENDPOINT
[ENV_SECRET]
REDIS_PORT=6379
REDIS_PREFIX=jmny_database_
SENTRY_DSN=https://3943fc8002e149d5afa2d7ae983efd7d:[EMAIL]/82419
SENTRY_DSN_CONFERENCE=https://b0caaeacb6b9448fb1b51f7244c102a4:[EMAIL]/298914
SENTRY_DSN_FRONT_END=https://[EMAIL]/5627310
LOGROCKET_CONFERENCE_ID=ponxaf/conference-production
LOGROCKET_APP_ID=ponxaf/platform-production
MAIL_MAILER=ses
MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=2525
MAIL_USERNAME=null
[ENV_SECRET]
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=[EMAIL]
MAIL_FROM_NAME="The Jiminny Team"
MAIL_DOMAIN=jiminny.com
[ENV_SECRET]
TUNNEL_HOST=https://team:[EMAIL]
SECURITY_HEADER_HSTS_ENABLE=true
SECURITY_HEADER_CUSTOM_CSP=
OUTLOOK_URL=https://outlook.jiminny.com
VIDEO_CONSTANT_RATE_FACTOR=18
PUSHER_APP_ID=
[ENV_SECRET]
PUSHER_APP_CLUSTER=mt1
INTERCOM_APP_ID=nwqo8iaz
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
PLANHAT_ENABLED=true
PLANHAT_TENANT_UUID=9d4dd6a4-7544-4663-873b-5a120f3990e2
PLANHAT_JIMINNY_JWT=[JWT_TOKEN]
[ENV_SECRET]
STRIPE_MODEL=Jiminny\Models\Team
[ENV_SECRET]
[ENV_SECRET]
CASHIER_ENV=testing
SESSION_DOMAIN=app.jiminny.com
SESSION_SECURE_COOKIE=true
SESSION_COOKIE=jmny_s
SESSION_CONNECTION=session
TWILIO_ACCOUNT_SID=
[ENV_SECRET]
TWILIO_LOG_LEVEL=debug
TWILIO_ACCOUNT_SID_JIMINNY=
[ENV_SECRET]
[ENV_SECRET]
SALESFORCE_REDIRECT_URI=https://app.jiminny.com/auth/callback/salesforce
SALESFORCE_SCOPE="api refresh_token web"
[ENV_SECRET]
HUBSPOT_REDIRECT_URI=https://app.jiminny.com/auth/callback/hubspot
HUBSPOT_SCOPE="crm.lists.read crm.objects.contacts.read crm.objects.contacts.write crm.objects.companies.write crm.schemas.contacts.read crm.objects.companies.read crm.objects.deals.read crm.objects.deals.write crm.schemas.companies.read crm.schemas.deals.read crm.objects.owners.read"
HUBSPOT_JOURNAL_SCOPE="developer.webhooks_journal.read developer.webhooks_journal.subscriptions.read developer.webhooks_journal.subscriptions.write developer.webhooks_journal.snapshots.read developer.webhooks_journal.snapshots.write"
HUBSPOT_APP_ID=38484
[ENV_SECRET]
PIPEDRIVE_REDIRECT_URI=https://app.jiminny.com/auth/callback/pipedrive
PIPEDRIVE_SCOPE="base deals:full activities:full contacts:read search:read"
[ENV_SECRET]
SALESLOFT_REDIRECT_URI=https://app.jiminny.com/auth/callback/salesloft
SALESLOFT_SCOPE=""
[ENV_SECRET]
AIRCALL_REDIRECT_URI=https://app.jiminny.com/auth/callback/aircall
AIRCALL_SCOPE="public_api"
[ENV_SECRET]
RINGCENTRAL_REDIRECT_URI=https://app.jiminny.com/auth/callback/ringcentral
RINGCENTRAL_SCOPE=""
# Avaya is RingCentral owned, and it re-uses the same API
AVAYA_REDIRECT_URI=https://app.jiminny.com/auth/callback/avaya
# Telus is RingCentral owned, and it re-uses the same API
TELUS_REDIRECT_URI=https://app.jiminny.com/auth/callback/telus
[ENV_SECRET]
DIALPAD_REDIRECT_URI=https://app.jiminny.com/auth/callback/dialpad
DIALPAD_SCOPE="recordings_export"
[ENV_SECRET]
[ENV_SECRET]
LINKEDIN_REDIRECT_URI=https://app.jiminny.com/auth/callback/linkedin
LINKEDIN_SCOPE=""
[ENV_SECRET]
LINKEDIN_CONFERENCE_REDIRECT_URI=https://app.jiminny.com/conference/callback/linkedin
LINKEDIN_CONFERENCE_SCOPE=""
[ENV_SECRET]
[ENV_SECRET]
SLACK_REDIRECT_URI=https://app.jiminny.com/auth/callback/slack
[ENV_SECRET]
SLACK_APP_ID=A1GQA48F9
SLACK_SCOPE="channels:read,chat:write,chat:write.public,groups:read,im:read,im:write,users:read,users:read.email,incoming-webhook"
[ENV_SECRET]
GOOGLE_REDIRECT_URI=https://app.jiminny.com/auth/callback/google
GOOGLE_SCOPE="openid email profile"
[ENV_SECRET]
MICROSOFT_OFFICE_REDIRECT_URI=https://app.jiminny.com/auth/callback/office
MICROSOFT_OFFICE_SCOPE="openid profile email offline_access"
TEAMS_COMPLIANCE_BOT_HOST=https://teams-bot.jiminny.com
[ENV_SECRET]
OUTREACH_SCOPE="email users.read prospects.read accounts.read calls.read calls.write profiles.read tasks.read"
[ENV_SECRET]
BULLHORN_CLIENT_ID=
[ENV_SECRET]
BULLHORN_SCOPE=""
# Session TTL in minutes
BULLHORN_SESSION_TTL=1440
# Heartbeat interval in seconds, 0 to disable
BULLHORN_HEARTBEAT_INTERVAL=300
# Delays in seconds for retrying request important/transactional requests, 0 to disable
BULLHORN_RETRY_DELAYS='5,10,30'
# Delay in seconds before a queued retry is executed. 0 to disable
BULLHORN_QUEUE_DELAYS='900,3600,21600,86400'
[ENV_SECRET]
ZOOM_PHONE_SCOPE=""
ZOOM_PHONE_APP_ID=
[ENV_SECRET]
ZOOM_BOT_REDIRECT_URI=https://app.jiminny.com/auth/callback/zoom-bot-recall
ZOOM_BOT_SCOPE=""
ZOOM_BOT_APP_ID=
ZOOM_BOT_SECRET_TOKEN=
## Integration.app translates multipe CRM apis for us
INTEGRATION_APP_ENABLED=true
INTEGRATION_APP_URL=https://api.integration.app
[ENV_SECRET]
[ENV_SECRET]
CHROME_WEB_STORE_EXT_ID=iiamdhkongjbodlgiofmclneebnocnki
[ENV_SECRET]
[ENV_SECRET]
S3_CLIENT_DATA_REGION=CLIENT_DATA_BUCKET_REGION
S3_CLIENT_DATA_BUCKET=CLIENT_DATA_BUCKET_NAME
S3_CLIENT_DATA_CLOUD_FRONT_HOST=CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
S3_CLIENT_DATA_CLOUD_FRONT_URL=https://CLIENT_DATA_BUCKET_CLOUD_FRONT_DOMAIN
[ENV_SECRET]
S3_CLIENT_DATA_CLOUD_FRONT_SIGNED_COOKIE_DOMAIN='.app.jiminny.com'
FILESYSTEM_DISK=client-data-cloud-ec2
FFPROBE_PATH=/usr/local/bin/ffprobe
FFMPEG_PATH=/usr/local/bin/ffmpeg
[ENV_SECRET]
[ENV_SECRET]
SQS_PREFIX=_QUEUE_PREFIX
SQS_QUEUE=_QUEUE_SQS_NAME
SQS_FIFO_QUEUE=_QUEUE_SQS_FIFO_NAME.FIFO
SQS_REGION=_QUEUE_REGION
KINESIS_AWS_REGION=us-east-2
INSIGHTS_EVENTS_AWS_KINESIS_STREAM_NAME=activity-event-insights
INSIGHTS_METRICS_AWS_KINESIS_STREAM_NAME=activity-metric-insights
GOOGLE_TEXT_RELAY_MAILBOX=catch-all
GOOGLE_TEXT_RELAY_HOST=txt.jiminny.com
GOOGLE_TEXT_RELAY_TOPIC=projects/jiminny-web/topics/com.jiminny.txt
GOOGLE_TEXT_RELAY_SUBSCRIPTION=projects/jiminny-web/subscriptions/relay
ELASTICSEARCH_HOST=_AWS_ELASTIC_SEARCH_HOST
ELASTICSEARCH_PORT=80
ELASTICSEARCH_TRANSPORT=Http
ELASTICSEARCH_ACTIVITIES_INDEX=
CDN_URL=https://_PUBLIC_CDN_URL/
# CDN Logo URLs
LOGO_CDN_URL=https://cdn.jiminny.com/img/logo_icon.png
FULL_LOGO_CDN_URL=https://cdn.jiminny.com/img/full_jiminny_logo.png
[ENV_SECRET]
[ENV_SECRET]
SES_REGION=_AWS_SES_REGION
BUILD_NUMBER=_BUILD_NUMBER
BUILD_BRANCH=_BUILD_BRANCH
BUILD_COMMIT_SHA1=_BUILD_COMMIT_SHA1
SCHEDULER_LOG=/proc/1/fd/1
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_BASEURL=https://jiminny-openai-prod-us.openai.azure.com/
TRANSCRIPTION_SUMMARY_PROVIDER_MICROSOFT_DEPLOYMENT=prod-us-deployment
[ENV_SECRET]
PROPHET_AI_WRAPPER_TIMEOUT=600
PROPHET_AI_WRAPPER_CALL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_CALL_CONNECT_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_READ_TIMEOUT=15
PROPHET_AI_WRAPPER_DEAL_CONNECT_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_READ_TIMEOUT=60
PROPHET_AI_WRAPPER_ON_DEMAND_CONNECT_TIMEOUT=60
# AssemblyAI
AI_PROVIDER_ASSEMBLYAI_BASEURL=https://api.assemblyai.com
MEDIA_LIVE_AWS_REGION=us-east-2
[ENV_SECRET]
MEDIA_LIVE_INPUT_SECURITY_GROUP=7373214
MEDIA_LIVE_ACCESS_ROLE=arn:aws:iam::410346195943:role/medialive-role-jiminny-app-prod-prod
[ENV_SECRET]
MEDIA_LIVE_S3_REGION=us-east-2
MEDIA_LIVE_S3_BUCKET=jiminny-medialive
MEDIA_STREAMING_AWS_IVS_REGION=us-east-1
[ENV_SECRET]
UPLOADER_S3_REGION=us-east-2
UPLOADER_S3_BUCKET=jiminny-uploader
LIVE_FEED_ENABLED_ITEMS=scorecard,activity_play,activity_shared,nudge_generated
APP_LOCAL_URL=https://your.ngrock.url
KMS_AWS_REGION=us-east-2
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
S3_FIVE9_REGION=us-east-2
S3_FIVE9_BUCKET=jiminny-five9-client-data
S3_FIVE9_POLICY_ARN=jiminny-five9-client-policy
S3_FIVE9_USERNAME_PREFIX=client-five9-
[ENV_SECRET]
LARATRUST_ENABLE_CACHE=true
DEBUGBAR_ENABLED=false
[ENV_SECRET]
SAML2_ERROR_URL="/"
SAML2_LOGIN_URL="/dashboard"
SAML2_CONTACT_TECHNICAL_NAME="Engineering Support"
SAML2_CONTACT_TECHNICAL_EMAIL="[EMAIL]"
SAML2_CONTACT_SUPPORT_NAME="Support"
SAML2_CONTACT_SUPPORT_EMAIL="[EMAIL]"
SAML2_ORGANIZATION_NAME="Jiminny"
SAML2_ORGANIZATION_URL="https://jiminny.com"
MAXIO_API_ROUTE=https://jiminny-sandbox-two.chargify.com
[ENV_SECRET]
[ENV_SECRET]
[ENV_SECRET]
RECALL_AI_API_URL=https://us-west-2.recall.ai/api/
[ENV_SECRET]
RECALL_AI_ZOOM_BOT_APP_ID=
RECALL_AI_ZOOM_REGISTERED_EMAIL=[EMAIL]
# should be same accross instances
[ENV_SECRET]
HUBSPOT_WEBHOOK_FORWARD_URLS='https://app.jiminny.eu'
Sync Changes
Hide This Notification
Code changed:
Hide
7
Previous Highlighted Error
Next Highlighted Error
<?php
namespace Jiminny\Services\UserPilot;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
use Jiminny\Models\Feature\FeatureEnum;
use Jiminny\Models\Partner;
use Jiminny\Models\Team;
use Jiminny\Models\User;
class UserPilotClient
{
private const API_ENDPOINT = 'https://api.userpilot.io/v1/';
private const ANALYTICS_ENDPOINT = 'https://analytex.userpilot.io/v1/';
private function createRequest(): PendingRequest
{
return Http::withHeaders([
'X-API-Version' => '2020-09-22',
'Authorization' => 'Token ' . config('services.userpilot.key'),
]);
}
public function track(User $user, string $event, array $payload = []): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'track', [
'event_name' => $event,
'user_id' => $user->getUuid(),
'metadata' => $payload,
]);
}
public function upsertUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$companyMetadata = $this->getCompanyMetadata($user->getTeam());
$companyMetadata['id'] = $user->getTeam()->getUuid();
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'identify', [
'user_id' => $user->getUuid(),
'metadata' => [
'name' => $user->name,
'first_name' => $user->getFirstName(),
'position' => $user->job ? $user->job->name : null,
'email' => $user->getEmailAddress(),
'created_at' => $user->getCreatedAt()->unix(),
'is_admin' => $user->hasRole(User::ROLE_ADMIN),
'is_manager' => $user->hasRole(User::ROLE_MANAGER),
'is_owner' => $user->isTeamOwner(),
'is_insights' => $user->hasRole(User::ROLE_ANALYST),
'is_recorder' => $user->hasRole(User::ROLE_RECORDER),
'is_jiminny_voice' => $user->hasRole(User::ROLE_RECORDER_AND_VOICE),
'is_listener' => $user->hasRole(User::ROLE_LISTENER),
'license' => null,
'team' => $user->group ? $user->group->name : null,
'language' => $user->getLanguage(),
'email_sync' => $user->isSyncEmailEnabled(),
],
'company' => $companyMetadata,
]);
}
public function upsertCompany(Team $team): void
{
$this->createRequest()->post(self::ANALYTICS_ENDPOINT . 'companies/identify', [
'company_id' => $team->getUuid(),
'metadata' => $this->getCompanyMetadata($team),
]);
}
private function getCompanyMetadata(Team $team): array
{
return [
'created_at' => $team->getCreatedAt()->unix(),
'name' => $team->getName(),
'region' => config('jiminny.deploy_region'),
'crm' => $team->getCrmConfiguration()->getProviderName(),
'crm_installed_app_version' => $team->getCrmConfiguration()->getInstalledAppVersion(),
'calendar' => $team->getCalendarProvider(),
'notification_provider' => $team->getNotificationProvider(),
'has_jiminny_voice' => $team->hasFeature(FeatureEnum::DIALER),
'tier' => $team->getTier()?->getTitle(),
];
}
public function deleteUser(User $user): void
{
if ($this->shouldRequest($user->getTeam()) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'users', [
'users' => [$user->getUuid()],
]);
}
public function deleteCompany(Team $team): void
{
if ($this->shouldRequest($team) === false) {
return;
}
$this->createRequest()->delete(self::API_ENDPOINT . 'companies', [
'companies' => [$team->getUuid()],
]);
}
public function shouldRequest(Team $team): bool
{
return config('services.userpilot.key') !== null && $team->getPartnerId() === Partner::PARTNER_DEFAULT;
}
}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide
app ~/jiminny/app, folder
.circleci, folder
.cursor, folder
.github
.sonarlint, folder
.vscode, folder
.windsurf, folder
app, sources root
Actions, folder
Component, folder
Acl, folder
ActionItems, folder
Activity, folder
ActivityAnalytics, folder
ActivitySearch, folder
AiActivityType, folder
AiAutomation, folder
AiCallScoring, folder
AskAnything, folder
Dtos, folder
Events, folder
AskAnythingPromptService.php, class
HistoryService.php, class
AskJiminnyAi, folder
AWS, folder
BillingManagement, folder
Cache, folder
CoachingFeedback, folder
Country, folder
CustomerApi, folder
Database, folder
Datadog, folder
DateTime, folder
DealInsights, folder
DealRisks, folder
ElasticSearch, folder
Eloquent, folder
Encoding, folder
Encryption, folder
ES, folder
Faker, folder
FeatureFlags, folder
FFMpeg, folder
FileSystem, folder
Gecko, folder
Gong, folder
GuzzleHttp, folder
KeyPoints, folder
Kiosk, folder
LanguageDetection, folder
LiveFeed, folder
Locks, folder
Math, folder
MediaPipeline, folder
MeetingBot, folder
MobileSettings, folder
Model, folder
Notification, folder
Nudge, folder
ParagraphBreaker, folder...
|
PhpStorm
|
faVsco.js – .env.production
|
NULL
|
77104
|