@vrplatform/log 2.0.2 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -44,7 +44,7 @@ const useTracking = ({ dataset, env, name }, isDev) => {
44
44
  : undefined;
45
45
  return {
46
46
  // General
47
- track: async ({ userId, anonymousId, groupId, event, properties, timestamp, }) => {
47
+ track: async ({ userId, anonymousId, groupId, event, properties, timestamp = new Date(), }) => {
48
48
  if (isDev || (0, utils_1.isTest)(userId || anonymousId || '', groupId))
49
49
  return;
50
50
  if (anonymousId) {
@@ -79,6 +79,13 @@ const useTracking = ({ dataset, env, name }, isDev) => {
79
79
  timestamp,
80
80
  properties: (0, utils_1.convertKeysToSnakeCase)(properties),
81
81
  });
82
+ console.log({
83
+ userId,
84
+ event,
85
+ properties,
86
+ timestamp,
87
+ context: { groupId },
88
+ });
82
89
  june?.track({
83
90
  userId,
84
91
  event,
@@ -89,20 +96,17 @@ const useTracking = ({ dataset, env, name }, isDev) => {
89
96
  if (err)
90
97
  console.error(err);
91
98
  });
92
- const intercomUserId = (await intercom?.contacts.search({
93
- query: {
94
- field: 'external_id',
95
- operator: intercom_client_1.Intercom.SingleFilterSearchRequestOperator.Equals,
96
- value: userId,
97
- },
98
- }))?.data.at(0)?.id;
99
- if (intercomUserId)
99
+ try {
100
100
  await intercom?.events.create({
101
- user_id: intercomUserId,
101
+ user_id: userId,
102
102
  event_name: event,
103
103
  metadata: (0, convertValuesToString_1.convertValuesToString)(properties),
104
- created_at: timestamp ? timestamp.getTime() : Date.now(),
104
+ created_at: Math.floor(timestamp.getTime() / 1000),
105
105
  });
106
+ }
107
+ catch (e) {
108
+ console.error(e);
109
+ }
106
110
  }
107
111
  },
108
112
  identify: async ({ traits, userId, disableGeoip, timestamp, }) => {
@@ -119,63 +123,40 @@ const useTracking = ({ dataset, env, name }, isDev) => {
119
123
  timestamp,
120
124
  }, (err) => (err ? console.error(err) : {}));
121
125
  // upsert intercom user
122
- const data = {
123
- external_id: userId,
124
- email: traits?.email,
125
- name: traits?.name ||
126
- (traits?.firstName
127
- ? `${traits.firstName} ${traits.lastName}`
128
- : traits?.lastName),
129
- avatar: traits?.avatar,
130
- signed_up_at: traits?.createdAt
131
- ? new Date(traits.createdAt).getTime() / 1000
132
- : undefined,
133
- last_seen_at: new Date().getTime() / 1000,
134
- custom_attributes: { userType: traits?.role },
135
- };
136
- const intercomUser = (await intercom?.contacts.search({
137
- query: {
138
- field: 'external_id',
139
- operator: intercom_client_1.Intercom.SingleFilterSearchRequestOperator.Equals,
140
- value: userId,
141
- },
142
- }))?.data.at(0);
143
- if (intercomUser?.id)
144
- await intercom?.contacts.update(intercomUser?.id, data);
145
- else
146
- await intercom?.contacts.create(data);
126
+ try {
127
+ const data = {
128
+ external_id: userId,
129
+ email: traits?.email,
130
+ name: traits?.name ||
131
+ (traits?.firstName
132
+ ? `${traits.firstName} ${traits.lastName}`
133
+ : traits?.lastName),
134
+ avatar: traits?.avatar,
135
+ signed_up_at: traits?.createdAt
136
+ ? new Date(traits.createdAt).getTime() / 1000
137
+ : undefined,
138
+ last_seen_at: new Date().getTime() / 1000,
139
+ custom_attributes: { userType: traits?.role },
140
+ };
141
+ const intercomUser = (await intercom?.contacts.search({
142
+ query: {
143
+ field: 'external_id',
144
+ operator: intercom_client_1.Intercom.SingleFilterSearchRequestOperator.Equals,
145
+ value: userId,
146
+ },
147
+ }))?.data.at(0);
148
+ if (intercomUser?.id)
149
+ await intercom?.contacts.update(intercomUser?.id, data);
150
+ else
151
+ await intercom?.contacts.create(data);
152
+ }
153
+ catch (e) {
154
+ console.error(e);
155
+ }
147
156
  },
148
157
  group: async ({ traits, groupId, userId, anonymousId, timestamp, }) => {
149
158
  if (isDev || (0, utils_1.isTest)(userId || anonymousId || '', groupId))
150
159
  return;
151
- const cid = traits?.billingCustomerId || traits?.hyperlineCustomerId;
152
- const intercomCompany = await intercom?.companies.create({
153
- name: traits?.name,
154
- company_id: groupId,
155
- plan: traits?.plan,
156
- remote_created_at: traits?.createdAt
157
- ? new Date(traits.createdAt).getTime() / 1000
158
- : undefined,
159
- monthly_spend: traits?.mrr,
160
- custom_attributes: {
161
- teamId: groupId,
162
- team: traits?.name,
163
- type: traits?.type,
164
- status: traits?.status,
165
- pms: traits?.pms,
166
- accountingSoftware: traits?.accountingSoftware,
167
- activeListings: traits?.activeListings,
168
- paymentMethodType: traits?.paymentMethodType,
169
- partnerName: traits?.partner || traits?.accountingPartner,
170
- billingPortalUrl: cid
171
- ? `https://billing.vrplatform.app/portal/${cid}`
172
- : undefined,
173
- billingStatus: traits?.billingSubscriptionStatus,
174
- billingPartner: traits?.billingPartner ||
175
- traits?.partner ||
176
- traits?.accountingPartner,
177
- },
178
- });
179
160
  if (anonymousId) {
180
161
  posthog?.groupIdentify({
181
162
  groupKey: groupId,
@@ -194,17 +175,50 @@ const useTracking = ({ dataset, env, name }, isDev) => {
194
175
  });
195
176
  june?.group({ userId, groupId, traits, timestamp }, (err) => err ? console.error(err) : {});
196
177
  // attach intercom user to intercom company
197
- const intercomUser = (await intercom?.contacts.search({
198
- query: {
199
- field: 'external_id',
200
- operator: intercom_client_1.Intercom.SingleFilterSearchRequestOperator.Equals,
201
- value: userId,
202
- },
203
- }))?.data.at(0);
204
- if (intercomUser?.id && intercomCompany?.id)
205
- intercom?.companies.attachContact(intercomUser?.id, {
206
- id: intercomCompany?.id,
178
+ try {
179
+ const cid = traits?.billingCustomerId || traits?.hyperlineCustomerId;
180
+ const intercomCompany = await intercom?.companies.create({
181
+ name: traits?.name,
182
+ company_id: groupId,
183
+ plan: traits?.plan,
184
+ remote_created_at: traits?.createdAt
185
+ ? new Date(traits.createdAt).getTime() / 1000
186
+ : undefined,
187
+ monthly_spend: traits?.mrr,
188
+ custom_attributes: {
189
+ teamId: groupId,
190
+ team: traits?.name,
191
+ type: traits?.type,
192
+ status: traits?.status,
193
+ pms: traits?.pms,
194
+ accountingSoftware: traits?.accountingSoftware,
195
+ activeListings: traits?.activeListings,
196
+ paymentMethodType: traits?.paymentMethodType,
197
+ partnerName: traits?.partner || traits?.accountingPartner,
198
+ billingPortalUrl: cid
199
+ ? `https://billing.vrplatform.app/portal/${cid}`
200
+ : undefined,
201
+ billingStatus: traits?.billingSubscriptionStatus,
202
+ billingPartner: traits?.billingPartner ||
203
+ traits?.partner ||
204
+ traits?.accountingPartner,
205
+ },
207
206
  });
207
+ const intercomUser = (await intercom?.contacts.search({
208
+ query: {
209
+ field: 'external_id',
210
+ operator: intercom_client_1.Intercom.SingleFilterSearchRequestOperator.Equals,
211
+ value: userId,
212
+ },
213
+ }))?.data.at(0);
214
+ if (intercomUser?.id && intercomCompany?.id)
215
+ intercom?.companies.attachContact(intercomUser?.id, {
216
+ id: intercomCompany?.id,
217
+ });
218
+ }
219
+ catch (e) {
220
+ console.error(e);
221
+ }
208
222
  }
209
223
  },
210
224
  shutdown: async () => Promise.all([posthog?.shutdown(), june?.closeAndFlush(), log?.flush()]),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"src/","sources":["tracking/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"src/","sources":["tracking/index.ts"],"names":[],"mappings":"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"}
@@ -116,6 +116,7 @@ type TrackingEventProps = {
116
116
  owner_statement_opened: OwnerStatementOpenedProps;
117
117
  test_event: TestEventProps;
118
118
  test_error: TestErrorProps;
119
+ intercom_conversation_created: IntercomConversationCreated;
119
120
  };
120
121
  export type TrackingEvent = keyof TrackingEventProps;
121
122
  type OptionalUser<T> = T & ({
@@ -489,9 +490,11 @@ type TeamMemberRemovedProps = Partial<{
489
490
  type TestErrorProps = Partial<{
490
491
  userId: string;
491
492
  tenantId: string;
493
+ [key: string]: any;
492
494
  }>;
493
495
  type TestEventProps = Partial<{
494
496
  success: boolean;
497
+ [key: string]: any;
495
498
  }>;
496
499
  type UpdateRefreshAcceptedProps = Partial<{
497
500
  appName: string;
@@ -501,9 +504,19 @@ type OwnerStatementOpenedProps = Partial<{
501
504
  tenantId: string;
502
505
  userEmail: string;
503
506
  listingId: string;
507
+ periodId: string;
504
508
  startAt: string;
505
509
  }>;
506
510
  type ListingActivatedProps = any;
507
511
  type ListingDeactivatedProps = any;
508
512
  type ListingsReportedProps = any;
513
+ type IntercomConversationCreated = Partial<{
514
+ userId: string;
515
+ tenantId: string;
516
+ userEmail: string;
517
+ conversationId: string;
518
+ type: string;
519
+ deliveredAs: 'admin_initiated' | 'customer_initiated' | 'operator_initiated';
520
+ createdAt: string;
521
+ }>;
509
522
  export {};
@@ -27,7 +27,7 @@ export const useTracking = ({ dataset, env, name }, isDev) => {
27
27
  : undefined;
28
28
  return {
29
29
  // General
30
- track: async ({ userId, anonymousId, groupId, event, properties, timestamp, }) => {
30
+ track: async ({ userId, anonymousId, groupId, event, properties, timestamp = new Date(), }) => {
31
31
  if (isDev || isTest(userId || anonymousId || '', groupId))
32
32
  return;
33
33
  if (anonymousId) {
@@ -62,6 +62,13 @@ export const useTracking = ({ dataset, env, name }, isDev) => {
62
62
  timestamp,
63
63
  properties: convertKeysToSnakeCase(properties),
64
64
  });
65
+ console.log({
66
+ userId,
67
+ event,
68
+ properties,
69
+ timestamp,
70
+ context: { groupId },
71
+ });
65
72
  june?.track({
66
73
  userId,
67
74
  event,
@@ -72,20 +79,17 @@ export const useTracking = ({ dataset, env, name }, isDev) => {
72
79
  if (err)
73
80
  console.error(err);
74
81
  });
75
- const intercomUserId = (await intercom?.contacts.search({
76
- query: {
77
- field: 'external_id',
78
- operator: Intercom.SingleFilterSearchRequestOperator.Equals,
79
- value: userId,
80
- },
81
- }))?.data.at(0)?.id;
82
- if (intercomUserId)
82
+ try {
83
83
  await intercom?.events.create({
84
- user_id: intercomUserId,
84
+ user_id: userId,
85
85
  event_name: event,
86
86
  metadata: convertValuesToString(properties),
87
- created_at: timestamp ? timestamp.getTime() : Date.now(),
87
+ created_at: Math.floor(timestamp.getTime() / 1000),
88
88
  });
89
+ }
90
+ catch (e) {
91
+ console.error(e);
92
+ }
89
93
  }
90
94
  },
91
95
  identify: async ({ traits, userId, disableGeoip, timestamp, }) => {
@@ -102,63 +106,40 @@ export const useTracking = ({ dataset, env, name }, isDev) => {
102
106
  timestamp,
103
107
  }, (err) => (err ? console.error(err) : {}));
104
108
  // upsert intercom user
105
- const data = {
106
- external_id: userId,
107
- email: traits?.email,
108
- name: traits?.name ||
109
- (traits?.firstName
110
- ? `${traits.firstName} ${traits.lastName}`
111
- : traits?.lastName),
112
- avatar: traits?.avatar,
113
- signed_up_at: traits?.createdAt
114
- ? new Date(traits.createdAt).getTime() / 1000
115
- : undefined,
116
- last_seen_at: new Date().getTime() / 1000,
117
- custom_attributes: { userType: traits?.role },
118
- };
119
- const intercomUser = (await intercom?.contacts.search({
120
- query: {
121
- field: 'external_id',
122
- operator: Intercom.SingleFilterSearchRequestOperator.Equals,
123
- value: userId,
124
- },
125
- }))?.data.at(0);
126
- if (intercomUser?.id)
127
- await intercom?.contacts.update(intercomUser?.id, data);
128
- else
129
- await intercom?.contacts.create(data);
109
+ try {
110
+ const data = {
111
+ external_id: userId,
112
+ email: traits?.email,
113
+ name: traits?.name ||
114
+ (traits?.firstName
115
+ ? `${traits.firstName} ${traits.lastName}`
116
+ : traits?.lastName),
117
+ avatar: traits?.avatar,
118
+ signed_up_at: traits?.createdAt
119
+ ? new Date(traits.createdAt).getTime() / 1000
120
+ : undefined,
121
+ last_seen_at: new Date().getTime() / 1000,
122
+ custom_attributes: { userType: traits?.role },
123
+ };
124
+ const intercomUser = (await intercom?.contacts.search({
125
+ query: {
126
+ field: 'external_id',
127
+ operator: Intercom.SingleFilterSearchRequestOperator.Equals,
128
+ value: userId,
129
+ },
130
+ }))?.data.at(0);
131
+ if (intercomUser?.id)
132
+ await intercom?.contacts.update(intercomUser?.id, data);
133
+ else
134
+ await intercom?.contacts.create(data);
135
+ }
136
+ catch (e) {
137
+ console.error(e);
138
+ }
130
139
  },
131
140
  group: async ({ traits, groupId, userId, anonymousId, timestamp, }) => {
132
141
  if (isDev || isTest(userId || anonymousId || '', groupId))
133
142
  return;
134
- const cid = traits?.billingCustomerId || traits?.hyperlineCustomerId;
135
- const intercomCompany = await intercom?.companies.create({
136
- name: traits?.name,
137
- company_id: groupId,
138
- plan: traits?.plan,
139
- remote_created_at: traits?.createdAt
140
- ? new Date(traits.createdAt).getTime() / 1000
141
- : undefined,
142
- monthly_spend: traits?.mrr,
143
- custom_attributes: {
144
- teamId: groupId,
145
- team: traits?.name,
146
- type: traits?.type,
147
- status: traits?.status,
148
- pms: traits?.pms,
149
- accountingSoftware: traits?.accountingSoftware,
150
- activeListings: traits?.activeListings,
151
- paymentMethodType: traits?.paymentMethodType,
152
- partnerName: traits?.partner || traits?.accountingPartner,
153
- billingPortalUrl: cid
154
- ? `https://billing.vrplatform.app/portal/${cid}`
155
- : undefined,
156
- billingStatus: traits?.billingSubscriptionStatus,
157
- billingPartner: traits?.billingPartner ||
158
- traits?.partner ||
159
- traits?.accountingPartner,
160
- },
161
- });
162
143
  if (anonymousId) {
163
144
  posthog?.groupIdentify({
164
145
  groupKey: groupId,
@@ -177,17 +158,50 @@ export const useTracking = ({ dataset, env, name }, isDev) => {
177
158
  });
178
159
  june?.group({ userId, groupId, traits, timestamp }, (err) => err ? console.error(err) : {});
179
160
  // attach intercom user to intercom company
180
- const intercomUser = (await intercom?.contacts.search({
181
- query: {
182
- field: 'external_id',
183
- operator: Intercom.SingleFilterSearchRequestOperator.Equals,
184
- value: userId,
185
- },
186
- }))?.data.at(0);
187
- if (intercomUser?.id && intercomCompany?.id)
188
- intercom?.companies.attachContact(intercomUser?.id, {
189
- id: intercomCompany?.id,
161
+ try {
162
+ const cid = traits?.billingCustomerId || traits?.hyperlineCustomerId;
163
+ const intercomCompany = await intercom?.companies.create({
164
+ name: traits?.name,
165
+ company_id: groupId,
166
+ plan: traits?.plan,
167
+ remote_created_at: traits?.createdAt
168
+ ? new Date(traits.createdAt).getTime() / 1000
169
+ : undefined,
170
+ monthly_spend: traits?.mrr,
171
+ custom_attributes: {
172
+ teamId: groupId,
173
+ team: traits?.name,
174
+ type: traits?.type,
175
+ status: traits?.status,
176
+ pms: traits?.pms,
177
+ accountingSoftware: traits?.accountingSoftware,
178
+ activeListings: traits?.activeListings,
179
+ paymentMethodType: traits?.paymentMethodType,
180
+ partnerName: traits?.partner || traits?.accountingPartner,
181
+ billingPortalUrl: cid
182
+ ? `https://billing.vrplatform.app/portal/${cid}`
183
+ : undefined,
184
+ billingStatus: traits?.billingSubscriptionStatus,
185
+ billingPartner: traits?.billingPartner ||
186
+ traits?.partner ||
187
+ traits?.accountingPartner,
188
+ },
190
189
  });
190
+ const intercomUser = (await intercom?.contacts.search({
191
+ query: {
192
+ field: 'external_id',
193
+ operator: Intercom.SingleFilterSearchRequestOperator.Equals,
194
+ value: userId,
195
+ },
196
+ }))?.data.at(0);
197
+ if (intercomUser?.id && intercomCompany?.id)
198
+ intercom?.companies.attachContact(intercomUser?.id, {
199
+ id: intercomCompany?.id,
200
+ });
201
+ }
202
+ catch (e) {
203
+ console.error(e);
204
+ }
191
205
  }
192
206
  },
193
207
  shutdown: async () => Promise.all([posthog?.shutdown(), june?.closeAndFlush(), log?.flush()]),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"src/","sources":["tracking/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"src/","sources":["tracking/index.ts"],"names":[],"mappings":"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"}
@@ -116,6 +116,7 @@ type TrackingEventProps = {
116
116
  owner_statement_opened: OwnerStatementOpenedProps;
117
117
  test_event: TestEventProps;
118
118
  test_error: TestErrorProps;
119
+ intercom_conversation_created: IntercomConversationCreated;
119
120
  };
120
121
  export type TrackingEvent = keyof TrackingEventProps;
121
122
  type OptionalUser<T> = T & ({
@@ -489,9 +490,11 @@ type TeamMemberRemovedProps = Partial<{
489
490
  type TestErrorProps = Partial<{
490
491
  userId: string;
491
492
  tenantId: string;
493
+ [key: string]: any;
492
494
  }>;
493
495
  type TestEventProps = Partial<{
494
496
  success: boolean;
497
+ [key: string]: any;
495
498
  }>;
496
499
  type UpdateRefreshAcceptedProps = Partial<{
497
500
  appName: string;
@@ -501,9 +504,19 @@ type OwnerStatementOpenedProps = Partial<{
501
504
  tenantId: string;
502
505
  userEmail: string;
503
506
  listingId: string;
507
+ periodId: string;
504
508
  startAt: string;
505
509
  }>;
506
510
  type ListingActivatedProps = any;
507
511
  type ListingDeactivatedProps = any;
508
512
  type ListingsReportedProps = any;
513
+ type IntercomConversationCreated = Partial<{
514
+ userId: string;
515
+ tenantId: string;
516
+ userEmail: string;
517
+ conversationId: string;
518
+ type: string;
519
+ deliveredAs: 'admin_initiated' | 'customer_initiated' | 'operator_initiated';
520
+ createdAt: string;
521
+ }>;
509
522
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vrplatform/log",
3
- "version": "2.0.2",
3
+ "version": "2.0.4",
4
4
  "main": "build/main/index.js",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -170,7 +170,7 @@ export const useTracking = (
170
170
  groupId,
171
171
  event,
172
172
  properties,
173
- timestamp,
173
+ timestamp = new Date(),
174
174
  }: TrackProps<T>) => {
175
175
  if (isDev || isTest(userId || anonymousId || '', groupId)) return;
176
176
 
@@ -210,6 +210,14 @@ export const useTracking = (
210
210
  properties: convertKeysToSnakeCase(properties),
211
211
  });
212
212
 
213
+ console.log({
214
+ userId,
215
+ event,
216
+ properties,
217
+ timestamp,
218
+ context: { groupId },
219
+ });
220
+
213
221
  june?.track(
214
222
  {
215
223
  userId,
@@ -223,22 +231,16 @@ export const useTracking = (
223
231
  }
224
232
  );
225
233
 
226
- const intercomUserId = (
227
- await intercom?.contacts.search({
228
- query: {
229
- field: 'external_id',
230
- operator: Intercom.SingleFilterSearchRequestOperator.Equals,
231
- value: userId,
232
- },
233
- })
234
- )?.data.at(0)?.id;
235
- if (intercomUserId)
234
+ try {
236
235
  await intercom?.events.create({
237
- user_id: intercomUserId,
236
+ user_id: userId,
238
237
  event_name: event,
239
238
  metadata: convertValuesToString(properties),
240
- created_at: timestamp ? timestamp.getTime() : Date.now(),
239
+ created_at: Math.floor(timestamp.getTime() / 1000),
241
240
  });
241
+ } catch (e) {
242
+ console.error(e);
243
+ }
242
244
  }
243
245
  },
244
246
  identify: async ({
@@ -265,34 +267,38 @@ export const useTracking = (
265
267
  );
266
268
 
267
269
  // upsert intercom user
268
- const data = {
269
- external_id: userId,
270
- email: traits?.email,
271
- name:
272
- traits?.name ||
273
- (traits?.firstName
274
- ? `${traits.firstName} ${traits.lastName}`
275
- : traits?.lastName),
276
- avatar: traits?.avatar,
277
- signed_up_at: traits?.createdAt
278
- ? new Date(traits.createdAt).getTime() / 1000
279
- : undefined,
280
- last_seen_at: new Date().getTime() / 1000,
281
- custom_attributes: { userType: traits?.role },
282
- };
270
+ try {
271
+ const data = {
272
+ external_id: userId,
273
+ email: traits?.email,
274
+ name:
275
+ traits?.name ||
276
+ (traits?.firstName
277
+ ? `${traits.firstName} ${traits.lastName}`
278
+ : traits?.lastName),
279
+ avatar: traits?.avatar,
280
+ signed_up_at: traits?.createdAt
281
+ ? new Date(traits.createdAt).getTime() / 1000
282
+ : undefined,
283
+ last_seen_at: new Date().getTime() / 1000,
284
+ custom_attributes: { userType: traits?.role },
285
+ };
283
286
 
284
- const intercomUser = (
285
- await intercom?.contacts.search({
286
- query: {
287
- field: 'external_id',
288
- operator: Intercom.SingleFilterSearchRequestOperator.Equals,
289
- value: userId,
290
- },
291
- })
292
- )?.data.at(0);
293
- if (intercomUser?.id)
294
- await intercom?.contacts.update(intercomUser?.id, data);
295
- else await intercom?.contacts.create(data);
287
+ const intercomUser = (
288
+ await intercom?.contacts.search({
289
+ query: {
290
+ field: 'external_id',
291
+ operator: Intercom.SingleFilterSearchRequestOperator.Equals,
292
+ value: userId,
293
+ },
294
+ })
295
+ )?.data.at(0);
296
+ if (intercomUser?.id)
297
+ await intercom?.contacts.update(intercomUser?.id, data);
298
+ else await intercom?.contacts.create(data);
299
+ } catch (e) {
300
+ console.error(e);
301
+ }
296
302
  },
297
303
  group: async ({
298
304
  traits,
@@ -303,36 +309,6 @@ export const useTracking = (
303
309
  }: GroupProps) => {
304
310
  if (isDev || isTest(userId || anonymousId || '', groupId)) return;
305
311
 
306
- const cid = traits?.billingCustomerId || traits?.hyperlineCustomerId;
307
- const intercomCompany = await intercom?.companies.create({
308
- name: traits?.name,
309
- company_id: groupId,
310
- plan: traits?.plan,
311
- remote_created_at: traits?.createdAt
312
- ? new Date(traits.createdAt).getTime() / 1000
313
- : undefined,
314
- monthly_spend: traits?.mrr,
315
- custom_attributes: {
316
- teamId: groupId,
317
- team: traits?.name,
318
- type: traits?.type,
319
- status: traits?.status,
320
- pms: traits?.pms,
321
- accountingSoftware: traits?.accountingSoftware,
322
- activeListings: traits?.activeListings,
323
- paymentMethodType: traits?.paymentMethodType,
324
- partnerName: traits?.partner || traits?.accountingPartner,
325
- billingPortalUrl: cid
326
- ? `https://billing.vrplatform.app/portal/${cid}`
327
- : undefined,
328
- billingStatus: traits?.billingSubscriptionStatus,
329
- billingPartner:
330
- traits?.billingPartner ||
331
- traits?.partner ||
332
- traits?.accountingPartner,
333
- },
334
- });
335
-
336
312
  if (anonymousId) {
337
313
  posthog?.groupIdentify({
338
314
  groupKey: groupId,
@@ -357,19 +333,52 @@ export const useTracking = (
357
333
  );
358
334
 
359
335
  // attach intercom user to intercom company
360
- const intercomUser = (
361
- await intercom?.contacts.search({
362
- query: {
363
- field: 'external_id',
364
- operator: Intercom.SingleFilterSearchRequestOperator.Equals,
365
- value: userId,
336
+ try {
337
+ const cid = traits?.billingCustomerId || traits?.hyperlineCustomerId;
338
+ const intercomCompany = await intercom?.companies.create({
339
+ name: traits?.name,
340
+ company_id: groupId,
341
+ plan: traits?.plan,
342
+ remote_created_at: traits?.createdAt
343
+ ? new Date(traits.createdAt).getTime() / 1000
344
+ : undefined,
345
+ monthly_spend: traits?.mrr,
346
+ custom_attributes: {
347
+ teamId: groupId,
348
+ team: traits?.name,
349
+ type: traits?.type,
350
+ status: traits?.status,
351
+ pms: traits?.pms,
352
+ accountingSoftware: traits?.accountingSoftware,
353
+ activeListings: traits?.activeListings,
354
+ paymentMethodType: traits?.paymentMethodType,
355
+ partnerName: traits?.partner || traits?.accountingPartner,
356
+ billingPortalUrl: cid
357
+ ? `https://billing.vrplatform.app/portal/${cid}`
358
+ : undefined,
359
+ billingStatus: traits?.billingSubscriptionStatus,
360
+ billingPartner:
361
+ traits?.billingPartner ||
362
+ traits?.partner ||
363
+ traits?.accountingPartner,
366
364
  },
367
- })
368
- )?.data.at(0);
369
- if (intercomUser?.id && intercomCompany?.id)
370
- intercom?.companies.attachContact(intercomUser?.id, {
371
- id: intercomCompany?.id,
372
365
  });
366
+ const intercomUser = (
367
+ await intercom?.contacts.search({
368
+ query: {
369
+ field: 'external_id',
370
+ operator: Intercom.SingleFilterSearchRequestOperator.Equals,
371
+ value: userId,
372
+ },
373
+ })
374
+ )?.data.at(0);
375
+ if (intercomUser?.id && intercomCompany?.id)
376
+ intercom?.companies.attachContact(intercomUser?.id, {
377
+ id: intercomCompany?.id,
378
+ });
379
+ } catch (e) {
380
+ console.error(e);
381
+ }
373
382
  }
374
383
  },
375
384
  shutdown: async () =>
@@ -119,6 +119,7 @@ type TrackingEventProps = {
119
119
  owner_statement_opened: OwnerStatementOpenedProps;
120
120
  test_event: TestEventProps;
121
121
  test_error: TestErrorProps;
122
+ intercom_conversation_created: IntercomConversationCreated;
122
123
  };
123
124
  export type TrackingEvent = keyof TrackingEventProps;
124
125
 
@@ -597,10 +598,12 @@ type TeamMemberRemovedProps = Partial<{
597
598
  type TestErrorProps = Partial<{
598
599
  userId: string;
599
600
  tenantId: string;
601
+ [key: string]: any;
600
602
  }>;
601
603
 
602
604
  type TestEventProps = Partial<{
603
605
  success: boolean;
606
+ [key: string]: any;
604
607
  }>;
605
608
 
606
609
  type UpdateRefreshAcceptedProps = Partial<{
@@ -612,6 +615,7 @@ type OwnerStatementOpenedProps = Partial<{
612
615
  tenantId: string;
613
616
  userEmail: string;
614
617
  listingId: string;
618
+ periodId: string;
615
619
  startAt: string;
616
620
  }>;
617
621
 
@@ -620,3 +624,13 @@ type ListingActivatedProps = any;
620
624
  type ListingDeactivatedProps = any;
621
625
 
622
626
  type ListingsReportedProps = any;
627
+
628
+ type IntercomConversationCreated = Partial<{
629
+ userId: string;
630
+ tenantId: string;
631
+ userEmail: string;
632
+ conversationId: string;
633
+ type: string;
634
+ deliveredAs: 'admin_initiated' | 'customer_initiated' | 'operator_initiated';
635
+ createdAt: string;
636
+ }>;