(null);
+
+ const { refs, floatingStyles } = useFloating({
+ placement: 'top-start',
+ middleware: [
+ flip(),
+ offset({
+ mainAxis: theme.spacingMultiplicator * 2,
+ }),
+ ],
+ });
+
+ const getChangeHandler =
+ (field: keyof FieldAddressDraftValue) => (updatedAddressPart: string) => {
+ const updatedAddress = { ...value, [field]: updatedAddressPart };
+ setInternalValue(updatedAddress);
+ onChange?.(updatedAddress);
+ };
+
+ const getFocusHandler = (fieldName: keyof FieldAddressDraftValue) => () => {
+ setFocusPosition(fieldName);
+
+ inputRefs[fieldName]?.current?.focus();
+ };
+
+ useScopedHotkeys(
+ 'tab',
+ () => {
+ const currentFocusPosition = Object.keys(inputRefs).findIndex(
+ (key) => key === focusPosition,
+ );
+ const maxFocusPosition = Object.keys(inputRefs).length - 1;
+
+ const nextFocusPosition = currentFocusPosition + 1;
+
+ const isFocusPositionAfterLast = nextFocusPosition > maxFocusPosition;
+
+ if (isFocusPositionAfterLast) {
+ onTab?.(internalValue);
+ } else {
+ const nextFocusFieldName = Object.keys(inputRefs)[
+ nextFocusPosition
+ ] as keyof FieldAddressDraftValue;
+
+ setFocusPosition(nextFocusFieldName);
+ inputRefs[nextFocusFieldName]?.current?.focus();
+ }
+ },
+ hotkeyScope,
+ [onTab, internalValue, focusPosition],
+ );
+
+ useScopedHotkeys(
+ 'shift+tab',
+ () => {
+ const currentFocusPosition = Object.keys(inputRefs).findIndex(
+ (key) => key === focusPosition,
+ );
+
+ const nextFocusPosition = currentFocusPosition - 1;
+
+ const isFocusPositionBeforeFirst = nextFocusPosition < 0;
+
+ if (isFocusPositionBeforeFirst) {
+ onShiftTab?.(internalValue);
+ } else {
+ const nextFocusFieldName = Object.keys(inputRefs)[
+ nextFocusPosition
+ ] as keyof FieldAddressDraftValue;
+
+ setFocusPosition(nextFocusFieldName);
+ inputRefs[nextFocusFieldName]?.current?.focus();
+ }
+ },
+ hotkeyScope,
+ [onTab, internalValue, focusPosition],
+ );
+
+ useScopedHotkeys(
+ Key.Enter,
+ () => {
+ onEnter(internalValue);
+ },
+ hotkeyScope,
+ [onEnter, internalValue],
+ );
+
+ useScopedHotkeys(
+ [Key.Escape],
+ () => {
+ onEscape(internalValue);
+ },
+ hotkeyScope,
+ [onEscape, internalValue],
+ );
+
+ const { useListenClickOutside } = useClickOutsideListener('addressInput');
+
+ useListenClickOutside({
+ refs: [wrapperRef],
+ callback: (event) => {
+ event.stopImmediatePropagation();
+
+ onClickOutside?.(event, internalValue);
+ },
+ enabled: isDefined(onClickOutside),
+ });
+
+ useEffect(() => {
+ setInternalValue(value);
+ }, [value]);
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/packages/twenty-front/src/modules/ui/field/input/components/DoubleTextInput.tsx b/packages/twenty-front/src/modules/ui/field/input/components/DoubleTextInput.tsx
index 1ca95288f..48b4bc259 100644
--- a/packages/twenty-front/src/modules/ui/field/input/components/DoubleTextInput.tsx
+++ b/packages/twenty-front/src/modules/ui/field/input/components/DoubleTextInput.tsx
@@ -13,7 +13,7 @@ import { useScopedHotkeys } from '@/ui/utilities/hotkey/hooks/useScopedHotkeys';
import { useListenClickOutside } from '@/ui/utilities/pointer-event/hooks/useListenClickOutside';
import { isDefined } from '~/utils/isDefined';
-import { StyledInput } from './TextInput';
+import { StyledTextInput } from './TextInput';
const StyledContainer = styled.div`
align-items: center;
@@ -174,7 +174,7 @@ export const DoubleTextInput = ({
return (
- setFocusPosition('left')}
@@ -188,7 +188,7 @@ export const DoubleTextInput = ({
handleOnPaste(event)
}
/>
- setFocusPosition('right')}
ref={secondValueInputRef}
diff --git a/packages/twenty-front/src/modules/ui/field/input/components/PhoneInput.tsx b/packages/twenty-front/src/modules/ui/field/input/components/PhoneInput.tsx
index 4b232637b..36b7650c0 100644
--- a/packages/twenty-front/src/modules/ui/field/input/components/PhoneInput.tsx
+++ b/packages/twenty-front/src/modules/ui/field/input/components/PhoneInput.tsx
@@ -3,7 +3,7 @@ import ReactPhoneNumberInput from 'react-phone-number-input';
import styled from '@emotion/styled';
import { useRegisterInputEvents } from '@/object-record/record-field/meta-types/input/hooks/useRegisterInputEvents';
-import { CountryPickerDropdownButton } from '@/ui/input/components/internal/phone/components/CountryPickerDropdownButton';
+import { PhoneCountryPickerDropdownButton } from '@/ui/input/components/internal/phone/components/PhoneCountryPickerDropdownButton';
import 'react-phone-number-input/style.css';
@@ -102,7 +102,7 @@ export const PhoneInput = ({
onChange={handleChange}
international={true}
withCountryCallingCode={true}
- countrySelectComponent={CountryPickerDropdownButton}
+ countrySelectComponent={PhoneCountryPickerDropdownButton}
/>
);
diff --git a/packages/twenty-front/src/modules/ui/field/input/components/TextInput.tsx b/packages/twenty-front/src/modules/ui/field/input/components/TextInput.tsx
index 245d298c1..382897f96 100644
--- a/packages/twenty-front/src/modules/ui/field/input/components/TextInput.tsx
+++ b/packages/twenty-front/src/modules/ui/field/input/components/TextInput.tsx
@@ -4,7 +4,7 @@ import styled from '@emotion/styled';
import { useRegisterInputEvents } from '@/object-record/record-field/meta-types/input/hooks/useRegisterInputEvents';
import { TEXT_INPUT_STYLE } from '@/ui/theme/constants/TextInputStyle';
-export const StyledInput = styled.input`
+export const StyledTextInput = styled.input`
margin: 0;
${TEXT_INPUT_STYLE}
width: 100%;
@@ -60,7 +60,7 @@ export const TextInput = ({
});
return (
- theme.spacing(0.5)};
padding: 0;
width: ${({ width }) => (width ? `${width}px` : 'auto')};
diff --git a/packages/twenty-front/src/modules/ui/input/components/Select.tsx b/packages/twenty-front/src/modules/ui/input/components/Select.tsx
index 899b3f3c2..343a0b89c 100644
--- a/packages/twenty-front/src/modules/ui/input/components/Select.tsx
+++ b/packages/twenty-front/src/modules/ui/input/components/Select.tsx
@@ -1,4 +1,4 @@
-import { useMemo, useState } from 'react';
+import { useMemo, useRef, useState } from 'react';
import { useTheme } from '@emotion/react';
import styled from '@emotion/styled';
@@ -10,6 +10,7 @@ import { DropdownMenuSearchInput } from '@/ui/layout/dropdown/components/Dropdow
import { DropdownMenuSeparator } from '@/ui/layout/dropdown/components/DropdownMenuSeparator';
import { useDropdown } from '@/ui/layout/dropdown/hooks/useDropdown';
import { MenuItem } from '@/ui/navigation/menu-item/components/MenuItem';
+import { useClickOutsideListener } from '@/ui/utilities/pointer-event/hooks/useClickOutsideListener';
import { SelectHotkeyScope } from '../types/SelectHotkeyScope';
@@ -43,6 +44,7 @@ const StyledControlContainer = styled.div<{ disabled?: boolean }>`
align-items: center;
background-color: ${({ theme }) => theme.background.transparent.lighter};
border: 1px solid ${({ theme }) => theme.border.color.medium};
+ box-sizing: border-box;
border-radius: ${({ theme }) => theme.border.radius.sm};
color: ${({ disabled, theme }) =>
disabled ? theme.font.color.tertiary : theme.font.color.primary};
@@ -88,6 +90,8 @@ export const Select = ({
value,
withSearchInput,
}: SelectProps) => {
+ const selectContainerRef = useRef(null);
+
const theme = useTheme();
const [searchInputValue, setSearchInputValue] = useState('');
@@ -109,6 +113,15 @@ export const Select = ({
const { closeDropdown } = useDropdown(dropdownId);
+ const { useListenClickOutside } = useClickOutsideListener(dropdownId);
+
+ useListenClickOutside({
+ refs: [selectContainerRef],
+ callback: () => {
+ closeDropdown();
+ },
+ });
+
const selectControl = (
@@ -133,6 +146,7 @@ export const Select = ({
fullWidth={fullWidth}
tabIndex={0}
onBlur={onBlur}
+ ref={selectContainerRef}
>
{!!label && {label}}
{isDisabled ? (
diff --git a/packages/twenty-front/src/modules/ui/input/components/TextInput.tsx b/packages/twenty-front/src/modules/ui/input/components/TextInput.tsx
index d3bec867d..9e839c108 100644
--- a/packages/twenty-front/src/modules/ui/input/components/TextInput.tsx
+++ b/packages/twenty-front/src/modules/ui/input/components/TextInput.tsx
@@ -20,20 +20,6 @@ import { useCombinedRefs } from '~/hooks/useCombinedRefs';
import { InputHotkeyScope } from '../types/InputHotkeyScope';
-export type TextInputComponentProps = Omit<
- InputHTMLAttributes,
- 'onChange' | 'onKeyDown'
-> & {
- className?: string;
- label?: string;
- onChange?: (text: string) => void;
- fullWidth?: boolean;
- disableHotkeys?: boolean;
- error?: string;
- RightIcon?: IconComponent;
- onKeyDown?: (event: React.KeyboardEvent) => void;
-};
-
const StyledContainer = styled.div>`
display: inline-flex;
flex-direction: column;
@@ -110,6 +96,21 @@ const StyledTrailingIcon = styled.div`
const INPUT_TYPE_PASSWORD = 'password';
+export type TextInputComponentProps = Omit<
+ InputHTMLAttributes,
+ 'onChange' | 'onKeyDown'
+> & {
+ className?: string;
+ label?: string;
+ onChange?: (text: string) => void;
+ fullWidth?: boolean;
+ disableHotkeys?: boolean;
+ error?: string;
+ RightIcon?: IconComponent;
+ onKeyDown?: (event: React.KeyboardEvent) => void;
+ onBlur?: () => void;
+};
+
const TextInputComponent = (
{
className,
@@ -163,6 +164,7 @@ const TextInputComponent = (
inputRef.current?.blur();
},
InputHotkeyScope.TextInput,
+ { enabled: !disableHotkeys },
);
const [passwordVisible, setPasswordVisible] = useState(false);
diff --git a/packages/twenty-front/src/modules/ui/input/components/internal/country/components/CountrySelect.tsx b/packages/twenty-front/src/modules/ui/input/components/internal/country/components/CountrySelect.tsx
new file mode 100644
index 000000000..38bbbd98f
--- /dev/null
+++ b/packages/twenty-front/src/modules/ui/input/components/internal/country/components/CountrySelect.tsx
@@ -0,0 +1,37 @@
+import { useMemo } from 'react';
+
+import { IconComponentProps } from '@/ui/display/icon/types/IconComponent';
+import { SELECT_COUNTRY_DROPDOWN_ID } from '@/ui/input/components/internal/country/constants/SelectCountryDropdownId';
+import { useCountries } from '@/ui/input/components/internal/hooks/useCountries';
+import { Select, SelectOption } from '@/ui/input/components/Select';
+
+export const CountrySelect = ({
+ selectedCountryName,
+ onChange,
+}: {
+ selectedCountryName: string;
+ onChange: (countryCode: string) => void;
+}) => {
+ const countries = useCountries();
+
+ const options: SelectOption[] = useMemo(() => {
+ return countries.map>(({ countryName, Flag }) => ({
+ label: countryName,
+ value: countryName,
+ Icon: (props: IconComponentProps) =>
+ Flag({ width: props.size, height: props.size }), // TODO : improve this ?
+ }));
+ }, [countries]);
+
+ return (
+
+ );
+};
diff --git a/packages/twenty-front/src/modules/ui/input/components/internal/country/constants/SelectCountryDropdownId.ts b/packages/twenty-front/src/modules/ui/input/components/internal/country/constants/SelectCountryDropdownId.ts
new file mode 100644
index 000000000..45ccf6e0b
--- /dev/null
+++ b/packages/twenty-front/src/modules/ui/input/components/internal/country/constants/SelectCountryDropdownId.ts
@@ -0,0 +1 @@
+export const SELECT_COUNTRY_DROPDOWN_ID = 'select-country-picker';
diff --git a/packages/twenty-front/src/modules/ui/input/components/internal/hooks/useCountries.ts b/packages/twenty-front/src/modules/ui/input/components/internal/hooks/useCountries.ts
new file mode 100644
index 000000000..60ecd57a4
--- /dev/null
+++ b/packages/twenty-front/src/modules/ui/input/components/internal/hooks/useCountries.ts
@@ -0,0 +1,37 @@
+import { useMemo } from 'react';
+import { hasFlag } from 'country-flag-icons';
+import * as Flags from 'country-flag-icons/react/3x2';
+import { getCountries, getCountryCallingCode } from 'libphonenumber-js';
+
+import { Country } from '@/ui/input/components/internal/types/Country';
+
+export const useCountries = () => {
+ return useMemo(() => {
+ const regionNamesInEnglish = new Intl.DisplayNames(['en'], {
+ type: 'region',
+ });
+
+ const countryCodes = getCountries();
+
+ return countryCodes.reduce((result, countryCode) => {
+ const countryName = regionNamesInEnglish.of(countryCode);
+
+ if (!countryName) return result;
+
+ if (!hasFlag(countryCode)) return result;
+
+ const Flag = Flags[countryCode];
+
+ const callingCode = getCountryCallingCode(countryCode);
+
+ result.push({
+ countryCode,
+ countryName,
+ callingCode,
+ Flag,
+ });
+
+ return result;
+ }, []);
+ }, []);
+};
diff --git a/packages/twenty-front/src/modules/ui/input/components/internal/phone/components/CountryPickerDropdownButton.tsx b/packages/twenty-front/src/modules/ui/input/components/internal/phone/components/PhoneCountryPickerDropdownButton.tsx
similarity index 68%
rename from packages/twenty-front/src/modules/ui/input/components/internal/phone/components/CountryPickerDropdownButton.tsx
rename to packages/twenty-front/src/modules/ui/input/components/internal/phone/components/PhoneCountryPickerDropdownButton.tsx
index a6bba60c6..82fd1979d 100644
--- a/packages/twenty-front/src/modules/ui/input/components/internal/phone/components/CountryPickerDropdownButton.tsx
+++ b/packages/twenty-front/src/modules/ui/input/components/internal/phone/components/PhoneCountryPickerDropdownButton.tsx
@@ -1,19 +1,17 @@
-import { useEffect, useMemo, useState } from 'react';
-import { getCountries, getCountryCallingCode } from 'react-phone-number-input';
+import { useEffect, useState } from 'react';
import { useTheme } from '@emotion/react';
import styled from '@emotion/styled';
-import { hasFlag } from 'country-flag-icons';
-import * as Flags from 'country-flag-icons/react/3x2';
-import { CountryCallingCode } from 'libphonenumber-js';
import { IconChevronDown, IconWorld } from '@/ui/display/icon';
+import { useCountries } from '@/ui/input/components/internal/hooks/useCountries';
+import { Country } from '@/ui/input/components/internal/types/Country';
import { Dropdown } from '@/ui/layout/dropdown/components/Dropdown';
import { useDropdown } from '@/ui/layout/dropdown/hooks/useDropdown';
import { isDefined } from '~/utils/isDefined';
import { CountryPickerHotkeyScope } from '../types/CountryPickerHotkeyScope';
-import { CountryPickerDropdownSelect } from './CountryPickerDropdownSelect';
+import { PhoneCountryPickerDropdownSelect } from './PhoneCountryPickerDropdownSelect';
import 'react-phone-number-input/style.css';
@@ -57,14 +55,7 @@ const StyledIconContainer = styled.div`
}
`;
-export type Country = {
- countryCode: string;
- countryName: string;
- callingCode: CountryCallingCode;
- Flag: Flags.FlagComponent;
-};
-
-export const CountryPickerDropdownButton = ({
+export const PhoneCountryPickerDropdownButton = ({
value,
onChange,
}: {
@@ -82,34 +73,7 @@ export const CountryPickerDropdownButton = ({
closeDropdown();
};
- const countries = useMemo(() => {
- const regionNamesInEnglish = new Intl.DisplayNames(['en'], {
- type: 'region',
- });
-
- const countryCodes = getCountries();
-
- return countryCodes.reduce((result, countryCode) => {
- const countryName = regionNamesInEnglish.of(countryCode);
-
- if (!countryName) return result;
-
- if (!hasFlag(countryCode)) return result;
-
- const Flag = Flags[countryCode];
-
- const callingCode = getCountryCallingCode(countryCode);
-
- result.push({
- countryCode,
- countryName,
- callingCode,
- Flag,
- });
-
- return result;
- }, []);
- }, []);
+ const countries = useCountries();
useEffect(() => {
const country = countries.find(({ countryCode }) => countryCode === value);
@@ -132,7 +96,7 @@ export const CountryPickerDropdownButton = ({
}
dropdownComponents={
- {
+ const inferredFieldMetadata = fieldMetadata as
+ | FieldMetadataInterface
+ | undefined;
+ const targetColumnMap = inferredFieldMetadata
+ ? generateTargetColumnMap(
+ inferredFieldMetadata.type,
+ inferredFieldMetadata.isCustom ?? false,
+ inferredFieldMetadata.name,
+ )
+ : {
+ addressStreet1: 'addressStreet1',
+ addressStreet2: 'addressStreet2',
+ addressCity: 'addressCity',
+ addressPostcode: 'addressPostcode',
+ addressState: 'addressState',
+ addressCountry: 'addressCountry',
+ addressLat: 'addressLat',
+ addressLng: 'addressLng',
+ };
+
+ return [
+ {
+ id: 'addressStreet1',
+ type: FieldMetadataType.TEXT,
+ objectMetadataId: FieldMetadataType.ADDRESS.toString(),
+ name: 'addressStreet1',
+ label: 'Address',
+ targetColumnMap: {
+ value: targetColumnMap.addressStreet1,
+ },
+ isNullable: true,
+ ...(inferredFieldMetadata
+ ? {
+ defaultValue:
+ inferredFieldMetadata.defaultValue?.addressStreet1 ?? undefined,
+ }
+ : {}),
+ } satisfies FieldMetadataInterface,
+ {
+ id: 'addressStreet2',
+ type: FieldMetadataType.TEXT,
+ objectMetadataId: FieldMetadataType.ADDRESS.toString(),
+ name: 'addressStreet2',
+ label: 'Address 2',
+ targetColumnMap: {
+ value: targetColumnMap.addressStreet2,
+ },
+ isNullable: true,
+ ...(inferredFieldMetadata
+ ? {
+ defaultValue:
+ inferredFieldMetadata.defaultValue?.addressStreet2 ?? null,
+ }
+ : {}),
+ } satisfies FieldMetadataInterface,
+ {
+ id: 'addressCity',
+ type: FieldMetadataType.TEXT,
+ objectMetadataId: FieldMetadataType.ADDRESS.toString(),
+ name: 'addressCity',
+ label: 'City',
+ targetColumnMap: {
+ value: targetColumnMap.addressCity,
+ },
+ isNullable: true,
+ ...(inferredFieldMetadata
+ ? {
+ defaultValue:
+ inferredFieldMetadata.defaultValue?.addressCity ?? null,
+ }
+ : {}),
+ } satisfies FieldMetadataInterface,
+ {
+ id: 'addressPostcode',
+ type: FieldMetadataType.TEXT,
+ objectMetadataId: FieldMetadataType.ADDRESS.toString(),
+ name: 'addressPostcode',
+ label: 'Postcode',
+ targetColumnMap: {
+ value: targetColumnMap.addressPostcode,
+ },
+ isNullable: true,
+ ...(inferredFieldMetadata
+ ? {
+ defaultValue:
+ inferredFieldMetadata.defaultValue?.addressPostcode ?? null,
+ }
+ : {}),
+ } satisfies FieldMetadataInterface,
+ {
+ id: 'addressState',
+ type: FieldMetadataType.TEXT,
+ objectMetadataId: FieldMetadataType.ADDRESS.toString(),
+ name: 'addressState',
+ label: 'State',
+ targetColumnMap: {
+ value: targetColumnMap.addressState,
+ },
+ isNullable: true,
+ ...(inferredFieldMetadata
+ ? {
+ defaultValue:
+ inferredFieldMetadata.defaultValue?.addressState ?? null,
+ }
+ : {}),
+ } satisfies FieldMetadataInterface,
+ {
+ id: 'addressCountry',
+ type: FieldMetadataType.TEXT,
+ objectMetadataId: FieldMetadataType.ADDRESS.toString(),
+ name: 'addressCountry',
+ label: 'Country',
+ targetColumnMap: {
+ value: targetColumnMap.addressCountry,
+ },
+ isNullable: true,
+ ...(inferredFieldMetadata
+ ? {
+ defaultValue:
+ inferredFieldMetadata.defaultValue?.addressCountry ?? null,
+ }
+ : {}),
+ } satisfies FieldMetadataInterface,
+ {
+ id: 'addressLat',
+ type: FieldMetadataType.NUMBER,
+ objectMetadataId: FieldMetadataType.ADDRESS.toString(),
+ name: 'addressLat',
+ label: 'Latitude',
+ targetColumnMap: {
+ value: targetColumnMap.addressLat,
+ },
+ isNullable: true,
+ ...(inferredFieldMetadata
+ ? {
+ defaultValue:
+ inferredFieldMetadata.defaultValue?.addressLat ?? null,
+ }
+ : {}),
+ } satisfies FieldMetadataInterface,
+ {
+ id: 'addressLng',
+ type: FieldMetadataType.NUMBER,
+ objectMetadataId: FieldMetadataType.ADDRESS.toString(),
+ name: 'addressLng',
+ label: 'Longitude',
+ targetColumnMap: {
+ value: targetColumnMap.addressLng,
+ },
+ isNullable: true,
+ ...(inferredFieldMetadata
+ ? {
+ defaultValue:
+ inferredFieldMetadata.defaultValue?.addressLng ?? null,
+ }
+ : {}),
+ } satisfies FieldMetadataInterface,
+ ];
+};
+
+export const addressObjectDefinition = {
+ id: FieldMetadataType.ADDRESS.toString(),
+ nameSingular: 'address',
+ namePlural: 'address',
+ labelSingular: 'Address',
+ labelPlural: 'Addresses',
+ targetTableName: '',
+ fields: addressFields(),
+ fromRelations: [],
+ toRelations: [],
+ isActive: true,
+ isSystem: true,
+ isCustom: false,
+ isRemote: false,
+} satisfies ObjectMetadataInterface;
+
+export type AddressMetadata = {
+ addressStreet1: string;
+ addressStreet2: string;
+ addressCity: string;
+ addressState: string;
+ addressZipCode: string;
+ addressCountry: string;
+ addressLat: number;
+ addressLng: number;
+};
diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/index.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/index.ts
index c88c50aeb..7867830be 100644
--- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/index.ts
+++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/composite-types/index.ts
@@ -4,6 +4,7 @@ import { currencyFields } from 'src/engine/metadata-modules/field-metadata/compo
import { fullNameFields } from 'src/engine/metadata-modules/field-metadata/composite-types/full-name.composite-type';
import { linkFields } from 'src/engine/metadata-modules/field-metadata/composite-types/link.composite-type';
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
+import { addressFields } from 'src/engine/metadata-modules/field-metadata/composite-types/address.composite-type';
export type CompositeFieldsDefinitionFunction = (
fieldMetadata?: FieldMetadataInterface,
@@ -16,4 +17,5 @@ export const compositeDefinitions = new Map<
[FieldMetadataType.LINK, linkFields],
[FieldMetadataType.CURRENCY, currencyFields],
[FieldMetadataType.FULL_NAME, fullNameFields],
+ [FieldMetadataType.ADDRESS, addressFields],
]);
diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/dtos/default-value.input.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/dtos/default-value.input.ts
index c39b92a6b..c5666fda9 100644
--- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/dtos/default-value.input.ts
+++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/dtos/default-value.input.ts
@@ -6,6 +6,7 @@ import {
IsNotEmpty,
IsNumber,
IsNumberString,
+ IsString,
Matches,
ValidateIf,
} from 'class-validator';
@@ -98,3 +99,36 @@ export class FieldMetadataDefaultValueNowFunction {
@IsNotEmpty()
value: typeof fieldMetadataDefaultValueFunctionName.NOW;
}
+export class FieldMetadataDefaultValueAddress {
+ @ValidateIf((_object, value) => value !== null)
+ @IsString()
+ addressStreet1: string | null;
+
+ @ValidateIf((_object, value) => value !== null)
+ @IsString()
+ addressStreet2: string | null;
+
+ @ValidateIf((_object, value) => value !== null)
+ @IsString()
+ addressCity: string | null;
+
+ @ValidateIf((_object, value) => value !== null)
+ @IsString()
+ addressPostcode: string | null;
+
+ @ValidateIf((_object, value) => value !== null)
+ @IsString()
+ addressState: string | null;
+
+ @ValidateIf((_object, value) => value !== null)
+ @IsString()
+ addressCountry: string | null;
+
+ @ValidateIf((_object, value) => value !== null)
+ @IsNumber()
+ addressLat: number | null;
+
+ @ValidateIf((_object, value) => value !== null)
+ @IsNumber()
+ addressLng: number | null;
+}
diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.entity.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.entity.ts
index e98831cea..6bfeb42ee 100644
--- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.entity.ts
+++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/field-metadata.entity.ts
@@ -36,6 +36,8 @@ export enum FieldMetadataType {
MULTI_SELECT = 'MULTI_SELECT',
RELATION = 'RELATION',
POSITION = 'POSITION',
+ ADDRESS = 'ADDRESS',
+ JSON = 'JSON',
RAW_JSON = 'RAW_JSON',
}
diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface.ts
index ffbdcb536..1b71a3e21 100644
--- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface.ts
+++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata-default-value.interface.ts
@@ -1,4 +1,5 @@
import {
+ FieldMetadataDefaultValueAddress,
FieldMetadataDefaultValueBoolean,
FieldMetadataDefaultValueCurrency,
FieldMetadataDefaultValueDateTime,
@@ -35,6 +36,7 @@ type FieldMetadataDefaultValueMapping = {
[FieldMetadataType.LINK]: FieldMetadataDefaultValueLink;
[FieldMetadataType.CURRENCY]: FieldMetadataDefaultValueCurrency;
[FieldMetadataType.FULL_NAME]: FieldMetadataDefaultValueFullName;
+ [FieldMetadataType.ADDRESS]: FieldMetadataDefaultValueAddress;
[FieldMetadataType.RATING]: FieldMetadataDefaultValueString;
[FieldMetadataType.SELECT]: FieldMetadataDefaultValueString;
[FieldMetadataType.MULTI_SELECT]: FieldMetadataDefaultValueStringArray;
diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata-target-column-map.interface.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata-target-column-map.interface.ts
index 946b0acf4..22dcf3195 100644
--- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata-target-column-map.interface.ts
+++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/interfaces/field-metadata-target-column-map.interface.ts
@@ -19,6 +19,17 @@ export interface FieldMetadataTargetColumnMapFullName {
lastName: string;
}
+export type FieldMetadataTargetColumnMapAddress = {
+ addressStreet1: string;
+ addressStreet2: string;
+ addressCity: string;
+ addressState: string;
+ addressZipCode: string;
+ addressCountry: string;
+ addressLat: number;
+ addressLng: number;
+};
+
type AllFieldMetadataTypes = {
[key: string]: string;
};
@@ -27,6 +38,7 @@ type FieldMetadataTypeMapping = {
[FieldMetadataType.LINK]: FieldMetadataTargetColumnMapLink;
[FieldMetadataType.CURRENCY]: FieldMetadataTargetColumnMapCurrency;
[FieldMetadataType.FULL_NAME]: FieldMetadataTargetColumnMapFullName;
+ [FieldMetadataType.ADDRESS]: FieldMetadataTargetColumnMapAddress;
};
type TypeByFieldMetadata = [
diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/generate-default-value.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/generate-default-value.ts
index 2ff8f264a..2ec5a820e 100644
--- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/generate-default-value.ts
+++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/generate-default-value.ts
@@ -15,6 +15,17 @@ export function generateDefaultValue(
firstName: "''",
lastName: "''",
};
+ case FieldMetadataType.ADDRESS:
+ return {
+ addressStreet1: "''",
+ addressStreet2: "''",
+ addressCity: "''",
+ addressState: "''",
+ addressCountry: "''",
+ addressPostcode: "''",
+ addressLat: null,
+ addressLng: null,
+ };
case FieldMetadataType.LINK:
return {
url: "''",
diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/generate-target-column-map.util.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/generate-target-column-map.util.ts
index e9d3799d6..adc09ae1c 100644
--- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/generate-target-column-map.util.ts
+++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/generate-target-column-map.util.ts
@@ -54,6 +54,17 @@ export function generateTargetColumnMap(
firstName: `${columnName}FirstName`,
lastName: `${columnName}LastName`,
};
+ case FieldMetadataType.ADDRESS:
+ return {
+ addressStreet1: `${columnName}AddressStreet1`,
+ addressStreet2: `${columnName}AddressStreet2`,
+ addressCity: `${columnName}AddressCity`,
+ addressPostcode: `${columnName}AddressPostcode`,
+ addressState: `${columnName}AddressState`,
+ addressCountry: `${columnName}AddressCountry`,
+ addressLat: `${columnName}AddressLat`,
+ addressLng: `${columnName}AddressLng`,
+ };
case FieldMetadataType.RELATION:
return {};
default:
diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util.ts
index c62caada5..81a7cdb6c 100644
--- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util.ts
+++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util.ts
@@ -9,6 +9,7 @@ export const isCompositeFieldMetadataType = (
return (
type === FieldMetadataType.LINK ||
type === FieldMetadataType.CURRENCY ||
- type === FieldMetadataType.FULL_NAME
+ type === FieldMetadataType.FULL_NAME ||
+ type === FieldMetadataType.ADDRESS
);
};
diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/validate-default-value-for-type.util.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/validate-default-value-for-type.util.ts
index a5ddf44d2..9e5d93a9c 100644
--- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/validate-default-value-for-type.util.ts
+++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/utils/validate-default-value-for-type.util.ts
@@ -8,6 +8,7 @@ import {
import { FieldMetadataType } from 'src/engine/metadata-modules/field-metadata/field-metadata.entity';
import {
+ FieldMetadataDefaultValueAddress,
FieldMetadataDefaultValueBoolean,
FieldMetadataDefaultValueCurrency,
FieldMetadataDefaultValueDateTime,
@@ -44,6 +45,7 @@ export const defaultValueValidatorsMap = {
[FieldMetadataType.RATING]: [FieldMetadataDefaultValueString],
[FieldMetadataType.SELECT]: [FieldMetadataDefaultValueString],
[FieldMetadataType.MULTI_SELECT]: [FieldMetadataDefaultValueStringArray],
+ [FieldMetadataType.ADDRESS]: [FieldMetadataDefaultValueAddress],
[FieldMetadataType.RAW_JSON]: [FieldMetadataDefaultValueRawJson],
};
diff --git a/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/companies-demo.json b/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/companies-demo.json
index 799f3c262..89d0c8b1f 100644
--- a/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/companies-demo.json
+++ b/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/companies-demo.json
@@ -2,4200 +2,4200 @@
{
"name": "Google",
"domainName": "goo.gle",
- "address": "Mountain View",
+ "addressAddressCity": "Mountain View",
"employees": 284571,
"linkedinLinkUrl": "https://linkedin.com/company/google"
},
{
"name": "Microsoft",
"domainName": "microsoft.com",
- "address": "Redmond",
+ "addressAddressCity": "Redmond",
"employees": 226067,
"linkedinLinkUrl": "https://linkedin.com/company/microsoft"
},
{
"name": "Meta",
"domainName": "metacareers.com",
- "address": "Menlo Park",
+ "addressAddressCity": "Menlo Park",
"employees": 119511,
"linkedinLinkUrl": "https://linkedin.com/company/meta"
},
{
"name": "SLB",
"domainName": "slb.com",
- "address": "Houston",
+ "addressAddressCity": "Houston",
"employees": 113151,
"linkedinLinkUrl": "https://linkedin.com/company/slbglobal"
},
{
"name": "Cisco",
"domainName": "cisco.com",
- "address": "San Jose",
+ "addressAddressCity": "San Jose",
"employees": 99625,
"linkedinLinkUrl": "https://linkedin.com/company/cisco"
},
{
"name": "Uber",
"domainName": "uber.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 90545,
"linkedinLinkUrl": "https://linkedin.com/company/uber-com"
},
{
"name": "Salesforce",
"domainName": "salesforce.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 71322,
"linkedinLinkUrl": "https://linkedin.com/company/salesforce"
},
{
"name": "Amdocs",
"domainName": "amdocs.com",
- "address": "Chesterfield",
+ "addressAddressCity": "Chesterfield",
"employees": 35731,
"linkedinLinkUrl": "https://linkedin.com/company/amdocs"
},
{
"name": "VMware",
"domainName": "vmware.com",
- "address": "Palo Alto",
+ "addressAddressCity": "Palo Alto",
"employees": 34759,
"linkedinLinkUrl": "https://linkedin.com/company/vmware"
},
{
"name": "GlobalLogic",
"domainName": "globallogic.com",
- "address": "Santa Clara",
+ "addressAddressCity": "Santa Clara",
"employees": 24461,
"linkedinLinkUrl": "https://linkedin.com/company/globallogic"
},
{
"name": "ServiceNow",
"domainName": "servicenow.com",
- "address": "Santa Clara",
+ "addressAddressCity": "Santa Clara",
"employees": 24104,
"linkedinLinkUrl": "https://linkedin.com/company/servicenow"
},
{
"name": "SS&C Technologies",
"domainName": "ssctech.com",
- "address": "Windsor",
+ "addressAddressCity": "Windsor",
"employees": 20311,
"linkedinLinkUrl": "https://linkedin.com/company/ss-c-technologies"
},
{
"name": "Workday",
"domainName": "workday.com",
- "address": "Pleasanton",
+ "addressAddressCity": "Pleasanton",
"employees": 20036,
"linkedinLinkUrl": "https://linkedin.com/company/workday"
},
{
"name": "Red Hat",
"domainName": "redhat.com",
- "address": "Raleigh",
+ "addressAddressCity": "Raleigh",
"employees": 19945,
"linkedinLinkUrl": "https://linkedin.com/company/red-hat"
},
{
"name": "NetSuite",
"domainName": "netsuite.com",
- "address": "Austin",
+ "addressAddressCity": "Austin",
"employees": 19269,
"linkedinLinkUrl": "https://linkedin.com/company/netsuite"
},
{
"name": "Synopsys Inc",
"domainName": "synopsys.com",
- "address": "Sunnyvale",
+ "addressAddressCity": "Sunnyvale",
"employees": 18061,
"linkedinLinkUrl": "https://linkedin.com/company/synopsys"
},
{
"name": "Siemens Digital Industries Software",
"domainName": "sw.siemens.com",
- "address": "Plano",
+ "addressAddressCity": "Plano",
"employees": 17262,
"linkedinLinkUrl": "https://linkedin.com/company/siemenssoftware"
},
{
"name": "SAS",
"domainName": "sas.com",
- "address": "Cary",
+ "addressAddressCity": "Cary",
"employees": 16287,
"linkedinLinkUrl": "https://linkedin.com/company/sas"
},
{
"name": "Intuit",
"domainName": "intuit.com",
- "address": "Mountain View",
+ "addressAddressCity": "Mountain View",
"employees": 15851,
"linkedinLinkUrl": "https://linkedin.com/company/intuit"
},
{
"name": "Broadcom Software",
"domainName": "broadcom.com",
- "address": "San Jose",
+ "addressAddressCity": "San Jose",
"employees": 15127,
"linkedinLinkUrl": "https://linkedin.com/company/broadcomsoftware"
},
{
"name": "Autodesk",
"domainName": "autodesk.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 14593,
"linkedinLinkUrl": "https://linkedin.com/company/autodesk"
},
{
"name": "Epic",
"domainName": "epic.com",
- "address": "Verona",
+ "addressAddressCity": "Verona",
"employees": 13765,
"linkedinLinkUrl": "https://linkedin.com/company/epic1979"
},
{
"name": "Bosch USA",
"domainName": "bosch.us",
- "address": "Farmington",
+ "addressAddressCity": "Farmington",
"employees": 13754,
"linkedinLinkUrl": "https://linkedin.com/company/boschusa"
},
{
"name": "Cloud Software Group",
"domainName": "cloudsoftwaregroup.com",
- "address": "Fort Lauderdale",
+ "addressAddressCity": "Fort Lauderdale",
"employees": 13111,
"linkedinLinkUrl": "https://linkedin.com/company/cloudsoftwaregroup"
},
{
"name": "Pitney Bowes",
"domainName": "pitneybowes.com",
- "address": "Stamford",
+ "addressAddressCity": "Stamford",
"employees": 12306,
"linkedinLinkUrl": "https://linkedin.com/company/pitney-bowes"
},
{
"name": "Juniper Networks",
"domainName": "juniper.net",
- "address": "Sunnyvale",
+ "addressAddressCity": "Sunnyvale",
"employees": 11928,
"linkedinLinkUrl": "https://linkedin.com/company/juniper-networks"
},
{
"name": "Chegg Inc.",
"domainName": "chegg.com",
- "address": "Santa Clara",
+ "addressAddressCity": "Santa Clara",
"employees": 10790,
"linkedinLinkUrl": "https://linkedin.com/company/chegg-inc-"
},
{
"name": "Teradata",
"domainName": "teradata.com",
- "address": "San Diego",
+ "addressAddressCity": "San Diego",
"employees": 10748,
"linkedinLinkUrl": "https://linkedin.com/company/teradata"
},
{
"name": "NICE",
"domainName": "nice.com",
- "address": "Hoboken",
+ "addressAddressCity": "Hoboken",
"employees": 10258,
"linkedinLinkUrl": "https://linkedin.com/company/nice-systems"
},
{
"name": "Cadence Design Systems",
"domainName": "cadence.com",
- "address": "San Jose",
+ "addressAddressCity": "San Jose",
"employees": 9377,
"linkedinLinkUrl": "https://linkedin.com/company/cadence-design-systems"
},
{
"name": "Cox Automotive Inc.",
"domainName": "coxautoinc.com",
- "address": "Atlanta",
+ "addressAddressCity": "Atlanta",
"employees": 9331,
"linkedinLinkUrl": "https://linkedin.com/company/cox-automotive-inc-"
},
{
"name": "Trimble Inc.",
"domainName": "trimble.com",
- "address": "Broomfield",
+ "addressAddressCity": "Broomfield",
"employees": 9311,
"linkedinLinkUrl": "https://linkedin.com/company/trimble"
},
{
"name": "[24]7.ai",
"domainName": "247.ai",
- "address": "San Jose",
+ "addressAddressCity": "San Jose",
"employees": 9170,
"linkedinLinkUrl": "https://linkedin.com/company/24-7-ai"
},
{
"name": "Akamai Technologies",
"domainName": "akamai.com",
- "address": "Cambridge",
+ "addressAddressCity": "Cambridge",
"employees": 9168,
"linkedinLinkUrl": "https://linkedin.com/company/akamai-technologies"
},
{
"name": "Splunk",
"domainName": "splunk.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 8891,
"linkedinLinkUrl": "https://linkedin.com/company/splunk"
},
{
"name": "Okta",
"domainName": "okta.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 8860,
"linkedinLinkUrl": "https://linkedin.com/company/okta-inc-"
},
{
"name": "Ceridian",
"domainName": "ceridian.com",
- "address": "Minneapolis",
+ "addressAddressCity": "Minneapolis",
"employees": 8813,
"linkedinLinkUrl": "https://linkedin.com/company/ceridian"
},
{
"name": "RealPage, Inc.",
"domainName": "realpage.com",
- "address": "Richardson",
+ "addressAddressCity": "Richardson",
"employees": 8227,
"linkedinLinkUrl": "https://linkedin.com/company/realpage"
},
{
"name": "Freelance",
"domainName": "jobicy.com",
- "address": "Ny",
+ "addressAddressCity": "Ny",
"employees": 8180,
"linkedinLinkUrl": "https://linkedin.com/company/pro-freelance"
},
{
"name": "Stripe",
"domainName": "stripe.com",
- "address": "South San Francisco",
+ "addressAddressCity": "South San Francisco",
"employees": 8145,
"linkedinLinkUrl": "https://linkedin.com/company/stripe"
},
{
"name": "Shutterfly",
"domainName": "shutterflyinc.com",
- "address": "San Jose",
+ "addressAddressCity": "San Jose",
"employees": 8070,
"linkedinLinkUrl": "https://linkedin.com/company/shutterfly"
},
{
"name": "Unity",
"domainName": "unity.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 8063,
"linkedinLinkUrl": "https://linkedin.com/company/unity"
},
{
"name": "Veeva Systems",
"domainName": "veeva.com",
- "address": "Pleasanton",
+ "addressAddressCity": "Pleasanton",
"employees": 7831,
"linkedinLinkUrl": "https://linkedin.com/company/veeva-systems"
},
{
"name": "Nuance Communications",
"domainName": "nuance.com",
- "address": "Burlington",
+ "addressAddressCity": "Burlington",
"employees": 7761,
"linkedinLinkUrl": "https://linkedin.com/company/nuance-communications"
},
{
"name": "Freshworks",
"domainName": "freshworks.com",
- "address": "San Mateo",
+ "addressAddressCity": "San Mateo",
"employees": 7687,
"linkedinLinkUrl": "https://linkedin.com/company/freshworks-inc"
},
{
"name": "Seal Software, a DocuSign Company",
"domainName": "seal-software.com",
- "address": "Walnut Creek",
+ "addressAddressCity": "Walnut Creek",
"employees": 7586,
"linkedinLinkUrl": "https://linkedin.com/company/seal-software-group"
},
{
"name": "DocuSign",
"domainName": "docusign.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 7557,
"linkedinLinkUrl": "https://linkedin.com/company/docusign"
},
{
"name": "Nutanix",
"domainName": "nutanix.com",
- "address": "San Jose",
+ "addressAddressCity": "San Jose",
"employees": 7454,
"linkedinLinkUrl": "https://linkedin.com/company/nutanix"
},
{
"name": "Genesys",
"domainName": "genesys.com",
- "address": "Menlo Park",
+ "addressAddressCity": "Menlo Park",
"employees": 7371,
"linkedinLinkUrl": "https://linkedin.com/company/genesys"
},
{
"name": "SAP Concur",
"domainName": "concur.com",
- "address": "Bellevue",
+ "addressAddressCity": "Bellevue",
"employees": 7305,
"linkedinLinkUrl": "https://linkedin.com/company/sapconcur"
},
{
"name": "Square",
"domainName": "squareup.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 7233,
"linkedinLinkUrl": "https://linkedin.com/company/joinsquare"
},
{
"name": "Snap Inc.",
"domainName": "snap.com",
- "address": "Santa Monica",
+ "addressAddressCity": "Santa Monica",
"employees": 7219,
"linkedinLinkUrl": "https://linkedin.com/company/snap-inc-co"
},
{
"name": "MathWorks",
"domainName": "mathworks.com",
- "address": "Natick",
+ "addressAddressCity": "Natick",
"employees": 7188,
"linkedinLinkUrl": "https://linkedin.com/company/the-mathworks_2"
},
{
"name": "PTC",
"domainName": "ptc.co",
- "address": "Boston",
+ "addressAddressCity": "Boston",
"employees": 7119,
"linkedinLinkUrl": "https://linkedin.com/company/ptcinc"
},
{
"name": "Ansys",
"domainName": "ansys.com",
- "address": "Canonsburg",
+ "addressAddressCity": "Canonsburg",
"employees": 7112,
"linkedinLinkUrl": "https://linkedin.com/company/ansys-inc"
},
{
"name": "Aricent",
"domainName": "altran.com",
- "address": "Santa Clara",
+ "addressAddressCity": "Santa Clara",
"employees": 7016,
"linkedinLinkUrl": "https://linkedin.com/company/aricent"
},
{
"name": "Databricks",
"domainName": "databricks.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 6927,
"linkedinLinkUrl": "https://linkedin.com/company/databricks"
},
{
"name": "Shipt",
"domainName": "shipt.com",
- "address": "Birmingham",
+ "addressAddressCity": "Birmingham",
"employees": 6902,
"linkedinLinkUrl": "https://linkedin.com/company/shipt"
},
{
"name": "CSG",
"domainName": "csgi.com",
- "address": "Englewood",
+ "addressAddressCity": "Englewood",
"employees": 6849,
"linkedinLinkUrl": "https://linkedin.com/company/csg-"
},
{
"name": "Twilio",
"domainName": "twilio.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 6721,
"linkedinLinkUrl": "https://linkedin.com/company/twilio-inc-"
},
{
"name": "Veritas Technologies LLC",
"domainName": "veritas.com",
- "address": "Santa Clara",
+ "addressAddressCity": "Santa Clara",
"employees": 6718,
"linkedinLinkUrl": "https://linkedin.com/company/veritas-technologies-llc"
},
{
"name": "Citrix",
"domainName": "citrix.com",
- "address": "Fort Lauderdale",
+ "addressAddressCity": "Fort Lauderdale",
"employees": 6528,
"linkedinLinkUrl": "https://linkedin.com/company/citrix"
},
{
"name": "Tyler Technologies",
"domainName": "tylertech.com",
- "address": "Plano",
+ "addressAddressCity": "Plano",
"employees": 6496,
"linkedinLinkUrl": "https://linkedin.com/company/tyler-technologies"
},
{
"name": "Esri",
"domainName": "esri.com",
- "address": "Redlands",
+ "addressAddressCity": "Redlands",
"employees": 6463,
"linkedinLinkUrl": "https://linkedin.com/company/esri"
},
{
"name": "Paycom",
"domainName": "paycom.com",
- "address": "Oklahoma City",
+ "addressAddressCity": "Oklahoma City",
"employees": 6378,
"linkedinLinkUrl": "https://linkedin.com/company/paycom"
},
{
"name": "Roblox",
"domainName": "roblox.com",
- "address": "San Mateo",
+ "addressAddressCity": "San Mateo",
"employees": 6297,
"linkedinLinkUrl": "https://linkedin.com/company/roblox"
},
{
"name": "Zendesk",
"domainName": "zendesk.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 6255,
"linkedinLinkUrl": "https://linkedin.com/company/zendesk"
},
{
"name": "Newfold Digital",
"domainName": "newfold.com",
- "address": "Jacksonville",
+ "addressAddressCity": "Jacksonville",
"employees": 6213,
"linkedinLinkUrl": "https://linkedin.com/company/newfold"
},
{
"name": "Informatica",
"domainName": "informatica.com",
- "address": "Redwood City",
+ "addressAddressCity": "Redwood City",
"employees": 5850,
"linkedinLinkUrl": "https://linkedin.com/company/informatica"
},
{
"name": "Caf\u00e9",
"domainName": "at.cafe",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 5795,
"linkedinLinkUrl": "https://linkedin.com/company/get-cafe"
},
{
"name": "Mavenir",
"domainName": "mavenir.com",
- "address": "Richardson",
+ "addressAddressCity": "Richardson",
"employees": 5763,
"linkedinLinkUrl": "https://linkedin.com/company/mavenir"
},
{
"name": "Allscripts",
"domainName": "allscripts.com",
- "address": "Chicago",
+ "addressAddressCity": "Chicago",
"employees": 5719,
"linkedinLinkUrl": "https://linkedin.com/company/allscripts"
},
{
"name": "Yardi",
"domainName": "yardi.com",
- "address": "Goleta",
+ "addressAddressCity": "Goleta",
"employees": 5583,
"linkedinLinkUrl": "https://linkedin.com/company/yardi"
},
{
"name": "Datadog",
"domainName": "datadoghq.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 5470,
"linkedinLinkUrl": "https://linkedin.com/company/datadog"
},
{
"name": "Epicor",
"domainName": "epicor.com",
- "address": "Austin",
+ "addressAddressCity": "Austin",
"employees": 5310,
"linkedinLinkUrl": "https://linkedin.com/company/epicor-software-corp"
},
{
"name": "Hexagon Asset Lifecycle Intelligence",
"domainName": "hexagonppm.com",
- "address": "Madison",
+ "addressAddressCity": "Madison",
"employees": 5262,
"linkedinLinkUrl": "https://linkedin.com/company/hexagonassetlifecycleintelligence"
},
{
"name": "Blue Yonder",
"domainName": "blueyonder.com",
- "address": "Scottsdale",
+ "addressAddressCity": "Scottsdale",
"employees": 5205,
"linkedinLinkUrl": "https://linkedin.com/company/blueyonder"
},
{
"name": "MongoDB",
"domainName": "mongodb.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 5182,
"linkedinLinkUrl": "https://linkedin.com/company/mongodbinc"
},
{
"name": "uTest",
"domainName": "utest.com",
- "address": "Framingham",
+ "addressAddressCity": "Framingham",
"employees": 5125,
"linkedinLinkUrl": "https://linkedin.com/company/utest"
},
{
"name": "Paylocity",
"domainName": "paylocity.com",
- "address": "Schaumburg",
+ "addressAddressCity": "Schaumburg",
"employees": 5095,
"linkedinLinkUrl": "https://linkedin.com/company/paylocity"
},
{
"name": "IAC",
"domainName": "iac.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 5040,
"linkedinLinkUrl": "https://linkedin.com/company/iac"
},
{
"name": "Toast",
"domainName": "toasttab.com",
- "address": "Boston",
+ "addressAddressCity": "Boston",
"employees": 5008,
"linkedinLinkUrl": "https://linkedin.com/company/toast-inc"
},
{
"name": "Bentley Systems",
"domainName": "bentley.com",
- "address": "Exton",
+ "addressAddressCity": "Exton",
"employees": 4862,
"linkedinLinkUrl": "https://linkedin.com/company/bentley-systems"
},
{
"name": "Owner.com",
"domainName": "owner.com",
- "address": "Palo Alto",
+ "addressAddressCity": "Palo Alto",
"employees": 4677,
"linkedinLinkUrl": "https://linkedin.com/company/profitboss"
},
{
"name": "eClinicalWorks",
"domainName": "eclinicalworks.com",
- "address": "Westborough",
+ "addressAddressCity": "Westborough",
"employees": 4661,
"linkedinLinkUrl": "https://linkedin.com/company/eclinicalworks"
},
{
"name": "Altimetrik",
"domainName": "altimetrik.com",
- "address": "Southfield",
+ "addressAddressCity": "Southfield",
"employees": 4629,
"linkedinLinkUrl": "https://linkedin.com/company/altimetrik"
},
{
"name": "CA Technologies",
"domainName": "ca.com",
- "address": "San Jose",
+ "addressAddressCity": "San Jose",
"employees": 4616,
"linkedinLinkUrl": "https://linkedin.com/company/ca-technologies"
},
{
"name": "Dynatrace",
"domainName": "dynatrace.com",
- "address": "Waltham",
+ "addressAddressCity": "Waltham",
"employees": 4502,
"linkedinLinkUrl": "https://linkedin.com/company/dynatrace"
},
{
"name": "Sprinklr",
"domainName": "sprinklr.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 4495,
"linkedinLinkUrl": "https://linkedin.com/company/sprinklr"
},
{
"name": "UiPath",
"domainName": "uipath.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 4484,
"linkedinLinkUrl": "https://linkedin.com/company/uipath"
},
{
"name": "The Reynolds and Reynolds Company",
"domainName": "reyrey.com",
- "address": "Dayton",
+ "addressAddressCity": "Dayton",
"employees": 4473,
"linkedinLinkUrl": "https://linkedin.com/company/the-reynolds-and-reynolds-company"
},
{
"name": "Stealth",
"domainName": "stealthstartup.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 4472,
"linkedinLinkUrl": "https://linkedin.com/company/stealthstartup"
},
{
"name": "WEX",
"domainName": "wexinc.com",
- "address": "Portland",
+ "addressAddressCity": "Portland",
"employees": 4377,
"linkedinLinkUrl": "https://linkedin.com/company/wexinc"
},
{
"name": "HighRadius",
"domainName": "highradius.com",
- "address": "Houston",
+ "addressAddressCity": "Houston",
"employees": 4316,
"linkedinLinkUrl": "https://linkedin.com/company/highradius"
},
{
"name": "Avalara",
"domainName": "avalara.com",
- "address": "Seattle",
+ "addressAddressCity": "Seattle",
"employees": 4311,
"linkedinLinkUrl": "https://linkedin.com/company/avalara"
},
{
"name": "Manhattan Associates",
"domainName": "manh.com",
- "address": "Atlanta",
+ "addressAddressCity": "Atlanta",
"employees": 4236,
"linkedinLinkUrl": "https://linkedin.com/company/manhattan-associates"
},
{
"name": "Aspen Technology",
"domainName": "aspentech.com",
- "address": "Bedford",
+ "addressAddressCity": "Bedford",
"employees": 4194,
"linkedinLinkUrl": "https://linkedin.com/company/aspen-technology"
},
{
"name": "Hyland",
"domainName": "hyland.com",
- "address": "Westlake",
+ "addressAddressCity": "Westlake",
"employees": 4166,
"linkedinLinkUrl": "https://linkedin.com/company/hyland-software"
},
{
"name": "Palantir Technologies",
"domainName": "palantir.com",
- "address": "Denver",
+ "addressAddressCity": "Denver",
"employees": 4104,
"linkedinLinkUrl": "https://linkedin.com/company/palantir-technologies"
},
{
"name": "Market America, Inc.",
"domainName": "marketamerica.com",
- "address": "Greensboro",
+ "addressAddressCity": "Greensboro",
"employees": 4091,
"linkedinLinkUrl": "https://linkedin.com/company/market-america-inc-"
},
{
"name": "Procore Technologies",
"domainName": "procore.com",
- "address": "Carpinteria",
+ "addressAddressCity": "Carpinteria",
"employees": 4010,
"linkedinLinkUrl": "https://linkedin.com/company/procore-technologies"
},
{
"name": "ZoomInfo",
"domainName": "zoominfo.com",
- "address": "Vancouver",
+ "addressAddressCity": "Vancouver",
"employees": 3875,
"linkedinLinkUrl": "https://linkedin.com/company/zoominfo"
},
{
"name": "TIBCO",
"domainName": "tibco.com",
- "address": "Palo Alto",
+ "addressAddressCity": "Palo Alto",
"employees": 3871,
"linkedinLinkUrl": "https://linkedin.com/company/tibco"
},
{
"name": "GE Digital",
"domainName": "ge.com",
- "address": "San Ramon",
+ "addressAddressCity": "San Ramon",
"employees": 3849,
"linkedinLinkUrl": "https://linkedin.com/company/ge-digital"
},
{
"name": "RMS",
"domainName": "rms.com",
- "address": "Newark",
+ "addressAddressCity": "Newark",
"employees": 3844,
"linkedinLinkUrl": "https://linkedin.com/company/rms"
},
{
"name": "Tableau",
"domainName": "tableau.com",
- "address": "Seattle",
+ "addressAddressCity": "Seattle",
"employees": 3838,
"linkedinLinkUrl": "https://linkedin.com/company/tableau-software"
},
{
"name": "Extreme Networks",
"domainName": "extremenetworks.com",
- "address": "Morrisville",
+ "addressAddressCity": "Morrisville",
"employees": 3799,
"linkedinLinkUrl": "https://linkedin.com/company/extreme-networks"
},
{
"name": "Smartsheet",
"domainName": "smartsheet.com",
- "address": "Bellevue",
+ "addressAddressCity": "Bellevue",
"employees": 3798,
"linkedinLinkUrl": "https://linkedin.com/company/smartsheet-com"
},
{
"name": "Quest Software",
"domainName": "quest.com",
- "address": "Aliso Viejo",
+ "addressAddressCity": "Aliso Viejo",
"employees": 3795,
"linkedinLinkUrl": "https://linkedin.com/company/quest-software"
},
{
"name": "Motive",
"domainName": "gomotive.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 3788,
"linkedinLinkUrl": "https://linkedin.com/company/motive-inc"
},
{
"name": "Retired Life",
"domainName": "swde.com",
- "address": "San Jose",
+ "addressAddressCity": "San Jose",
"employees": 3774,
"linkedinLinkUrl": "https://linkedin.com/company/retired-life"
},
{
"name": "Dropbox",
"domainName": "dropbox.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 3751,
"linkedinLinkUrl": "https://linkedin.com/company/dropbox"
},
{
"name": "Deltek",
"domainName": "deltek.com",
- "address": "Herndon",
+ "addressAddressCity": "Herndon",
"employees": 3727,
"linkedinLinkUrl": "https://linkedin.com/company/deltek"
},
{
"name": "e2open",
"domainName": "e2open.com",
- "address": "Austin",
+ "addressAddressCity": "Austin",
"employees": 3694,
"linkedinLinkUrl": "https://linkedin.com/company/e2open"
},
{
"name": "Altair",
"domainName": "altair.com",
- "address": "Troy",
+ "addressAddressCity": "Troy",
"employees": 3596,
"linkedinLinkUrl": "https://linkedin.com/company/altair-engineering"
},
{
"name": "Gopuff",
"domainName": "gopuff.com",
- "address": "Philadelphia",
+ "addressAddressCity": "Philadelphia",
"employees": 3574,
"linkedinLinkUrl": "https://linkedin.com/company/gopuff"
},
{
"name": "FICO",
"domainName": "fico.com",
- "address": "Bozeman",
+ "addressAddressCity": "Bozeman",
"employees": 3511,
"linkedinLinkUrl": "https://linkedin.com/company/fico"
},
{
"name": "Elastic",
"domainName": "elastic.co",
- "address": "Mountain View",
+ "addressAddressCity": "Mountain View",
"employees": 3489,
"linkedinLinkUrl": "https://linkedin.com/company/elastic-co"
},
{
"name": "Blackbaud",
"domainName": "blackbaud.com",
- "address": "Charleston",
+ "addressAddressCity": "Charleston",
"employees": 3478,
"linkedinLinkUrl": "https://linkedin.com/company/blackbaud"
},
{
"name": "MicroStrategy",
"domainName": "microstrategy.com",
- "address": "Vienna",
+ "addressAddressCity": "Vienna",
"employees": 3469,
"linkedinLinkUrl": "https://linkedin.com/company/microstrategy"
},
{
"name": "Discord",
"domainName": "discord.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 3467,
"linkedinLinkUrl": "https://linkedin.com/company/discord"
},
{
"name": "Inovalon",
"domainName": "inovalon.com",
- "address": "Bowie",
+ "addressAddressCity": "Bowie",
"employees": 3459,
"linkedinLinkUrl": "https://linkedin.com/company/inovalon"
},
{
"name": "Progress",
"domainName": "progress.com",
- "address": "Burlington",
+ "addressAddressCity": "Burlington",
"employees": 3428,
"linkedinLinkUrl": "https://linkedin.com/company/progress-software"
},
{
"name": "Rubrik",
"domainName": "rbrk.co",
- "address": "Palo Alto",
+ "addressAddressCity": "Palo Alto",
"employees": 3370,
"linkedinLinkUrl": "https://linkedin.com/company/rubrik-inc"
},
{
"name": "Axtria - Ingenious Insights",
"domainName": "axtria.com",
- "address": "Berkeley Heights",
+ "addressAddressCity": "Berkeley Heights",
"employees": 3367,
"linkedinLinkUrl": "https://linkedin.com/company/axtria"
},
{
"name": "Audible",
"domainName": "audible.com",
- "address": "Newark",
+ "addressAddressCity": "Newark",
"employees": 3192,
"linkedinLinkUrl": "https://linkedin.com/company/audible"
},
{
"name": "Kaseya",
"domainName": "kaseya.com",
- "address": "Miami",
+ "addressAddressCity": "Miami",
"employees": 3191,
"linkedinLinkUrl": "https://linkedin.com/company/kaseya"
},
{
"name": "MRI Software",
"domainName": "mrisoftware.com",
- "address": "Solon",
+ "addressAddressCity": "Solon",
"employees": 3107,
"linkedinLinkUrl": "https://linkedin.com/company/mri-software-llc"
},
{
"name": "CyberArk",
"domainName": "cyberark.com",
- "address": "Newton Center",
+ "addressAddressCity": "Newton Center",
"employees": 3099,
"linkedinLinkUrl": "https://linkedin.com/company/cyber-ark-software"
},
{
"name": "Cornerstone OnDemand",
"domainName": "cornerstoneondemand.com",
- "address": "Santa Monica",
+ "addressAddressCity": "Santa Monica",
"employees": 3089,
"linkedinLinkUrl": "https://linkedin.com/company/cornerstone-ondemand"
},
{
"name": "Reddit, Inc.",
"domainName": "redditinc.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 3061,
"linkedinLinkUrl": "https://linkedin.com/company/reddit-com"
},
{
"name": "Ivanti",
"domainName": "ivanti.com",
- "address": "South Jordan",
+ "addressAddressCity": "South Jordan",
"employees": 3056,
"linkedinLinkUrl": "https://linkedin.com/company/ivanti"
},
{
"name": "Cloudera",
"domainName": "cloudera.com",
- "address": "Santa Clara",
+ "addressAddressCity": "Santa Clara",
"employees": 3007,
"linkedinLinkUrl": "https://linkedin.com/company/cloudera"
},
{
"name": "Medidata Solutions",
"domainName": "medidata.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 3001,
"linkedinLinkUrl": "https://linkedin.com/company/medidata-solutions"
},
{
"name": "Commvault",
"domainName": "commvault.com",
- "address": "Eatontown",
+ "addressAddressCity": "Eatontown",
"employees": 2974,
"linkedinLinkUrl": "https://linkedin.com/company/commvault"
},
{
"name": "ConnectWise",
"domainName": "connectwise.com",
- "address": "Tampa",
+ "addressAddressCity": "Tampa",
"employees": 2937,
"linkedinLinkUrl": "https://linkedin.com/company/connectwise"
},
{
"name": "BILL",
"domainName": "bill.com",
- "address": "Alviso",
+ "addressAddressCity": "Alviso",
"employees": 2932,
"linkedinLinkUrl": "https://linkedin.com/company/bill"
},
{
"name": "Alteryx",
"domainName": "alteryx.com",
- "address": "Irvine",
+ "addressAddressCity": "Irvine",
"employees": 2916,
"linkedinLinkUrl": "https://linkedin.com/company/alteryx"
},
{
"name": "MNC Software",
"domainName": "mncsoftware.com",
- "address": "San Diego",
+ "addressAddressCity": "San Diego",
"employees": 2912,
"linkedinLinkUrl": "https://linkedin.com/company/mnc-software"
},
{
"name": "Celonis",
"domainName": "celonis.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 2906,
"linkedinLinkUrl": "https://linkedin.com/company/celonis"
},
{
"name": "Attachmate",
"domainName": "microfocus.com",
- "address": "Seattle",
+ "addressAddressCity": "Seattle",
"employees": 2889,
"linkedinLinkUrl": "https://linkedin.com/company/attachmate"
},
{
"name": "NETSCOUT",
"domainName": "netscout.com",
- "address": "Westford",
+ "addressAddressCity": "Westford",
"employees": 2853,
"linkedinLinkUrl": "https://linkedin.com/company/netscout"
},
{
"name": "Confluent",
"domainName": "confluent.io",
- "address": "Mountain View",
+ "addressAddressCity": "Mountain View",
"employees": 2844,
"linkedinLinkUrl": "https://linkedin.com/company/confluent"
},
{
"name": "Samsara",
"domainName": "samsara.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 2824,
"linkedinLinkUrl": "https://linkedin.com/company/samsara"
},
{
"name": "Chetu, Inc.",
"domainName": "chetu.com",
- "address": "Fort Lauderdale",
+ "addressAddressCity": "Fort Lauderdale",
"employees": 2809,
"linkedinLinkUrl": "https://linkedin.com/company/chetu-inc-"
},
{
"name": "Kronos Incorporated",
"domainName": "ukg.com",
- "address": "Lowell",
+ "addressAddressCity": "Lowell",
"employees": 2808,
"linkedinLinkUrl": "https://linkedin.com/company/kronos"
},
{
"name": "Qlik",
"domainName": "qlik.com",
- "address": "King Of Prussia",
+ "addressAddressCity": "King Of Prussia",
"employees": 2779,
"linkedinLinkUrl": "https://linkedin.com/company/qlik"
},
{
"name": "Vertafore",
"domainName": "vertafore.com",
- "address": "Denver",
+ "addressAddressCity": "Denver",
"employees": 2768,
"linkedinLinkUrl": "https://linkedin.com/company/vertafore"
},
{
"name": "Asana",
"domainName": "asana.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 2753,
"linkedinLinkUrl": "https://linkedin.com/company/asana"
},
{
"name": "Jamf",
"domainName": "jamf.com",
- "address": "Minneapolis",
+ "addressAddressCity": "Minneapolis",
"employees": 2721,
"linkedinLinkUrl": "https://linkedin.com/company/jamf-software"
},
{
"name": "Paycor",
"domainName": "paycor.com",
- "address": "Cincinnati",
+ "addressAddressCity": "Cincinnati",
"employees": 2719,
"linkedinLinkUrl": "https://linkedin.com/company/paycor"
},
{
"name": "Hudl",
"domainName": "hudl.com",
- "address": "Lincoln",
+ "addressAddressCity": "Lincoln",
"employees": 2709,
"linkedinLinkUrl": "https://linkedin.com/company/hudl"
},
{
"name": "Precisely",
"domainName": "precisely.com",
- "address": "Burlington",
+ "addressAddressCity": "Burlington",
"employees": 2662,
"linkedinLinkUrl": "https://linkedin.com/company/preciselydata"
},
{
"name": "New Relic",
"domainName": "newrelic.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 2636,
"linkedinLinkUrl": "https://linkedin.com/company/new-relic-inc-"
},
{
"name": "Aptean",
"domainName": "aptean.com",
- "address": "Alpharetta",
+ "addressAddressCity": "Alpharetta",
"employees": 2617,
"linkedinLinkUrl": "https://linkedin.com/company/aptean"
},
{
"name": "o9 Solutions, Inc.",
"domainName": "o9solutions.com",
- "address": "Dallas",
+ "addressAddressCity": "Dallas",
"employees": 2612,
"linkedinLinkUrl": "https://linkedin.com/company/o9solutions"
},
{
"name": "SpotOn",
"domainName": "spoton.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 2608,
"linkedinLinkUrl": "https://linkedin.com/company/spoton"
},
{
"name": "Automation Anywhere",
"domainName": "automationanywhere.com",
- "address": "San Jose",
+ "addressAddressCity": "San Jose",
"employees": 2588,
"linkedinLinkUrl": "https://linkedin.com/company/automation-anywhere"
},
{
"name": "Tekion Corp",
"domainName": "tekion.com",
- "address": "Pleasanton",
+ "addressAddressCity": "Pleasanton",
"employees": 2579,
"linkedinLinkUrl": "https://linkedin.com/company/tekion"
},
{
"name": "Aurora",
"domainName": "aurora.tech",
- "address": "Mountain View",
+ "addressAddressCity": "Mountain View",
"employees": 2557,
"linkedinLinkUrl": "https://linkedin.com/company/aurora-inc."
},
{
"name": "SolarWinds",
"domainName": "solarwinds.com",
- "address": "Austin",
+ "addressAddressCity": "Austin",
"employees": 2529,
"linkedinLinkUrl": "https://linkedin.com/company/solarwinds"
},
{
"name": "GoTo",
"domainName": "goto.com",
- "address": "Boston",
+ "addressAddressCity": "Boston",
"employees": 2505,
"linkedinLinkUrl": "https://linkedin.com/company/goto"
},
{
"name": "PROS",
"domainName": "pros.com",
- "address": "Houston",
+ "addressAddressCity": "Houston",
"employees": 2479,
"linkedinLinkUrl": "https://linkedin.com/company/pros"
},
{
"name": "Miro",
"domainName": "miro.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 2445,
"linkedinLinkUrl": "https://linkedin.com/company/mirohq"
},
{
"name": "Kofax",
"domainName": "kofax.com",
- "address": "Irvine",
+ "addressAddressCity": "Irvine",
"employees": 2442,
"linkedinLinkUrl": "https://linkedin.com/company/kofax"
},
{
"name": "Accolite Digital",
"domainName": "accolite.com",
- "address": "Addison",
+ "addressAddressCity": "Addison",
"employees": 2438,
"linkedinLinkUrl": "https://linkedin.com/company/accolitedigital"
},
{
"name": "HashiCorp",
"domainName": "hashicorp.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 2436,
"linkedinLinkUrl": "https://linkedin.com/company/hashicorp"
},
{
"name": "Pluralsight",
"domainName": "pluralsight.com",
- "address": "Draper",
+ "addressAddressCity": "Draper",
"employees": 2433,
"linkedinLinkUrl": "https://linkedin.com/company/pluralsight"
},
{
"name": "Bottomline Technologies",
"domainName": "bottomline.com",
- "address": "Portsmouth",
+ "addressAddressCity": "Portsmouth",
"employees": 2407,
"linkedinLinkUrl": "https://linkedin.com/company/bottomline-technologies"
},
{
"name": "Anaplan",
"domainName": "anaplan.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 2401,
"linkedinLinkUrl": "https://linkedin.com/company/anaplan"
},
{
"name": "OneTrust",
"domainName": "onetrust.com",
- "address": "Atlanta",
+ "addressAddressCity": "Atlanta",
"employees": 2383,
"linkedinLinkUrl": "https://linkedin.com/company/onetrust"
},
{
"name": "Medallia",
"domainName": "medallia.com",
- "address": "Pleasanton",
+ "addressAddressCity": "Pleasanton",
"employees": 2381,
"linkedinLinkUrl": "https://linkedin.com/company/medallia-inc."
},
{
"name": "SailPoint",
"domainName": "sailpoint.com",
- "address": "Austin",
+ "addressAddressCity": "Austin",
"employees": 2366,
"linkedinLinkUrl": "https://linkedin.com/company/sailpoint-technologies"
},
{
"name": "Appian Corporation",
"domainName": "appian.com",
- "address": "Mc Lean",
+ "addressAddressCity": "Mc Lean",
"employees": 2345,
"linkedinLinkUrl": "https://linkedin.com/company/appian-corporation"
},
{
"name": "Dealertrack",
"domainName": "dealertrack.com",
- "address": "New Hyde Park",
+ "addressAddressCity": "New Hyde Park",
"employees": 2335,
"linkedinLinkUrl": "https://linkedin.com/company/dealertrack"
},
{
"name": "impact.com",
"domainName": "impact.com",
- "address": "Santa Barbara",
+ "addressAddressCity": "Santa Barbara",
"employees": 2327,
"linkedinLinkUrl": "https://linkedin.com/company/impactdotcom"
},
{
"name": "Inhabit\u00ae",
"domainName": "inhabitiq.com",
- "address": "Knoxville",
+ "addressAddressCity": "Knoxville",
"employees": 2286,
"linkedinLinkUrl": "https://linkedin.com/company/inhabit-iq"
},
{
"name": "SymphonyAI",
"domainName": "symphonyai.com",
- "address": "Palo Alto",
+ "addressAddressCity": "Palo Alto",
"employees": 2282,
"linkedinLinkUrl": "https://linkedin.com/company/symphonyai"
},
{
"name": "CCC Intelligent Solutions",
"domainName": "cccis.com",
- "address": "Chicago",
+ "addressAddressCity": "Chicago",
"employees": 2282,
"linkedinLinkUrl": "https://linkedin.com/company/ccc-intelligent-solutions"
},
{
"name": "Toshiba Global Commerce Solutions",
"domainName": "toshiba.com",
- "address": "Durham",
+ "addressAddressCity": "Durham",
"employees": 2281,
"linkedinLinkUrl": "https://linkedin.com/company/toshibacommerce"
},
{
"name": "Vertex Inc.",
"domainName": "vertexinc.com",
- "address": "King Of Prussia",
+ "addressAddressCity": "King Of Prussia",
"employees": 2265,
"linkedinLinkUrl": "https://linkedin.com/company/vertex-inc."
},
{
"name": "PRO Unlimited",
"domainName": "magnitglobal.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 2264,
"linkedinLinkUrl": "https://linkedin.com/company/prounlimited"
},
{
"name": "Five9",
"domainName": "five9.com",
- "address": "San Ramon",
+ "addressAddressCity": "San Ramon",
"employees": 2253,
"linkedinLinkUrl": "https://linkedin.com/company/five9"
},
{
"name": "Cohesity",
"domainName": "cohesity.com",
- "address": "San Jose",
+ "addressAddressCity": "San Jose",
"employees": 2252,
"linkedinLinkUrl": "https://linkedin.com/company/cohesity"
},
{
"name": "Wind River",
"domainName": "windriver.com",
- "address": "Alameda",
+ "addressAddressCity": "Alameda",
"employees": 2244,
"linkedinLinkUrl": "https://linkedin.com/company/wind-river"
},
{
"name": "Icertis",
"domainName": "icertis.com",
- "address": "Bellevue",
+ "addressAddressCity": "Bellevue",
"employees": 2233,
"linkedinLinkUrl": "https://linkedin.com/company/icertis"
},
{
"name": "Navan",
"domainName": "navan.com",
- "address": "Palo Alto",
+ "addressAddressCity": "Palo Alto",
"employees": 2221,
"linkedinLinkUrl": "https://linkedin.com/company/navan"
},
{
"name": "Diligent",
"domainName": "diligent.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 2215,
"linkedinLinkUrl": "https://linkedin.com/company/diligent-board-member-services"
},
{
"name": "Applied Systems",
"domainName": "appliedsystems.com",
- "address": "University Park",
+ "addressAddressCity": "University Park",
"employees": 2198,
"linkedinLinkUrl": "https://linkedin.com/company/applied-systems"
},
{
"name": "Forcepoint",
"domainName": "forcepoint.com",
- "address": "Austin",
+ "addressAddressCity": "Austin",
"employees": 2196,
"linkedinLinkUrl": "https://linkedin.com/company/forcepoint"
},
{
"name": "Compuware",
"domainName": "bmc.com",
- "address": "Detroit",
+ "addressAddressCity": "Detroit",
"employees": 2183,
"linkedinLinkUrl": "https://linkedin.com/company/compuware"
},
{
"name": "Netsmart",
"domainName": "ntst.com",
- "address": "Leawood",
+ "addressAddressCity": "Leawood",
"employees": 2177,
"linkedinLinkUrl": "https://linkedin.com/company/netsmart"
},
{
"name": "The Apache Software Foundation",
"domainName": "apache.org",
- "address": "Wilmington",
+ "addressAddressCity": "Wilmington",
"employees": 2177,
"linkedinLinkUrl": "https://linkedin.com/company/the-apache-software-foundation"
},
{
"name": "ArisGlobal",
"domainName": "arisglobal.com",
- "address": "Miami",
+ "addressAddressCity": "Miami",
"employees": 2168,
"linkedinLinkUrl": "https://linkedin.com/company/aris-global"
},
{
"name": "WORKING BY MY SELF",
"domainName": "fcutechnologies.com",
- "address": "Fort Lauderdale",
+ "addressAddressCity": "Fort Lauderdale",
"employees": 2148,
"linkedinLinkUrl": "https://linkedin.com/company/working-by-my-self"
},
{
"name": "Varonis",
"domainName": "varonis.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 2140,
"linkedinLinkUrl": "https://linkedin.com/company/varonis"
},
{
"name": "Fever",
"domainName": "feverup.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 2125,
"linkedinLinkUrl": "https://linkedin.com/company/fever-up"
},
{
"name": "Agilysys",
"domainName": "agilysys.com",
- "address": "Alpharetta",
+ "addressAddressCity": "Alpharetta",
"employees": 2081,
"linkedinLinkUrl": "https://linkedin.com/company/agilysys"
},
{
"name": "OutSystems",
"domainName": "outsystems.com",
- "address": "Boston",
+ "addressAddressCity": "Boston",
"employees": 2057,
"linkedinLinkUrl": "https://linkedin.com/company/outsystems"
},
{
"name": "Entrata",
"domainName": "entrata.com",
- "address": "Lehi",
+ "addressAddressCity": "Lehi",
"employees": 2045,
"linkedinLinkUrl": "https://linkedin.com/company/entratasoftware"
},
{
"name": "Verkada",
"domainName": "verkada.com",
- "address": "San Mateo",
+ "addressAddressCity": "San Mateo",
"employees": 2044,
"linkedinLinkUrl": "https://linkedin.com/company/verkada"
},
{
"name": "Majesco",
"domainName": "majesco.com",
- "address": "Morristown",
+ "addressAddressCity": "Morristown",
"employees": 2021,
"linkedinLinkUrl": "https://linkedin.com/company/majesco"
},
{
"name": "Boomi",
"domainName": "boomi.com",
- "address": "Wayne",
+ "addressAddressCity": "Wayne",
"employees": 2009,
"linkedinLinkUrl": "https://linkedin.com/company/boomi-inc"
},
{
"name": "PDI Technologies",
"domainName": "pditechnologies.com",
- "address": "Alpharetta",
+ "addressAddressCity": "Alpharetta",
"employees": 2005,
"linkedinLinkUrl": "https://linkedin.com/company/pdi-technologies"
},
{
"name": "ServiceTitan",
"domainName": "servicetitan.com",
- "address": "Glendale",
+ "addressAddressCity": "Glendale",
"employees": 1997,
"linkedinLinkUrl": "https://linkedin.com/company/servicetitan"
},
{
"name": "Sitecore",
"domainName": "sitecore.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 1943,
"linkedinLinkUrl": "https://linkedin.com/company/sitecore"
},
{
"name": "SAP SuccessFactors",
"domainName": "sap.com",
- "address": "South San Francisco",
+ "addressAddressCity": "South San Francisco",
"employees": 1941,
"linkedinLinkUrl": "https://linkedin.com/company/successfactors"
},
{
"name": "Postman",
"domainName": "postman.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 1928,
"linkedinLinkUrl": "https://linkedin.com/company/postman-platform"
},
{
"name": "Scale AI",
"domainName": "scale.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 1906,
"linkedinLinkUrl": "https://linkedin.com/company/scaleai"
},
{
"name": "Duck Creek Technologies",
"domainName": "duckcreek.com",
- "address": "Boston",
+ "addressAddressCity": "Boston",
"employees": 1894,
"linkedinLinkUrl": "https://linkedin.com/company/duck-creek-technologies"
},
{
"name": "MICROS Systems Inc",
"domainName": "oracle.com",
- "address": "Columbia",
+ "addressAddressCity": "Columbia",
"employees": 1882,
"linkedinLinkUrl": "https://linkedin.com/company/micros-systems-inc"
},
{
"name": "Riverbed Technology",
"domainName": "riverbed.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 1874,
"linkedinLinkUrl": "https://linkedin.com/company/riverbed-technology"
},
{
"name": "Fast Enterprises, LLC",
"domainName": "fastenterprises.com",
- "address": "Englewood",
+ "addressAddressCity": "Englewood",
"employees": 1833,
"linkedinLinkUrl": "https://linkedin.com/company/fast-enterprises"
},
{
"name": "Alvaria, Inc.",
"domainName": "alvaria.com",
- "address": "Westford",
+ "addressAddressCity": "Westford",
"employees": 1830,
"linkedinLinkUrl": "https://linkedin.com/company/alvaria-inc"
},
{
"name": "BlackLine",
"domainName": "blackline.com",
- "address": "Woodland Hills",
+ "addressAddressCity": "Woodland Hills",
"employees": 1826,
"linkedinLinkUrl": "https://linkedin.com/company/blackline"
},
{
"name": "3Pillar Global",
"domainName": "3pillarglobal.com",
- "address": "Fairfax",
+ "addressAddressCity": "Fairfax",
"employees": 1824,
"linkedinLinkUrl": "https://linkedin.com/company/3pillar-global"
},
{
"name": "Saama",
"domainName": "saama.com",
- "address": "Campbell",
+ "addressAddressCity": "Campbell",
"employees": 1809,
"linkedinLinkUrl": "https://linkedin.com/company/saama-technologies"
},
{
"name": "Ancestry",
"domainName": "ancestry.com",
- "address": "Lehi",
+ "addressAddressCity": "Lehi",
"employees": 1794,
"linkedinLinkUrl": "https://linkedin.com/company/ancestry.com"
},
{
"name": "insightsoftware",
"domainName": "insightsoftware.com",
- "address": "Raleigh",
+ "addressAddressCity": "Raleigh",
"employees": 1788,
"linkedinLinkUrl": "https://linkedin.com/company/outcomes-by-insightsoftware"
},
{
"name": "Ebix",
"domainName": "ebix.com",
- "address": "Duluth",
+ "addressAddressCity": "Duluth",
"employees": 1757,
"linkedinLinkUrl": "https://linkedin.com/company/ebix"
},
{
"name": "Zuora",
"domainName": "zuora.com",
- "address": "Redwood City",
+ "addressAddressCity": "Redwood City",
"employees": 1746,
"linkedinLinkUrl": "https://linkedin.com/company/zuora"
},
{
"name": "IntelyCare",
"domainName": "intelycare.com",
- "address": "Quincy",
+ "addressAddressCity": "Quincy",
"employees": 1731,
"linkedinLinkUrl": "https://linkedin.com/company/intelycare"
},
{
"name": "Axway",
"domainName": "axway.com",
- "address": "Scottsdale",
+ "addressAddressCity": "Scottsdale",
"employees": 1731,
"linkedinLinkUrl": "https://linkedin.com/company/axway"
},
{
"name": "Community Brands",
"domainName": "communitybrands.com",
- "address": "Saint Petersburg",
+ "addressAddressCity": "Saint Petersburg",
"employees": 1731,
"linkedinLinkUrl": "https://linkedin.com/company/communitybrands"
},
{
"name": "InterSystems",
"domainName": "intersystems.com",
- "address": "Cambridge",
+ "addressAddressCity": "Cambridge",
"employees": 1730,
"linkedinLinkUrl": "https://linkedin.com/company/intersystems"
},
{
"name": "Mozilla",
"domainName": "mozilla.org",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 1721,
"linkedinLinkUrl": "https://linkedin.com/company/mozilla-corporation"
},
{
"name": "Semrush",
"domainName": "semrush.com",
- "address": "Boston",
+ "addressAddressCity": "Boston",
"employees": 1706,
"linkedinLinkUrl": "https://linkedin.com/company/semrush"
},
{
"name": "Avid",
"domainName": "avid.com",
- "address": "Burlington",
+ "addressAddressCity": "Burlington",
"employees": 1705,
"linkedinLinkUrl": "https://linkedin.com/company/avid-technology"
},
{
"name": "Conga",
"domainName": "conga.com",
- "address": "Broomfield",
+ "addressAddressCity": "Broomfield",
"employees": 1695,
"linkedinLinkUrl": "https://linkedin.com/company/conga"
},
{
"name": "InfoBeans",
"domainName": "infobeans.com",
- "address": "Danville",
+ "addressAddressCity": "Danville",
"employees": 1691,
"linkedinLinkUrl": "https://linkedin.com/company/infobeans"
},
{
"name": "AppFolio, Inc.",
"domainName": "appfolioinc.com",
- "address": "Goleta",
+ "addressAddressCity": "Goleta",
"employees": 1688,
"linkedinLinkUrl": "https://linkedin.com/company/appfolio-inc"
},
{
"name": "Sovos",
"domainName": "sovos.com",
- "address": "Wilmington",
+ "addressAddressCity": "Wilmington",
"employees": 1684,
"linkedinLinkUrl": "https://linkedin.com/company/sovos"
},
{
"name": "nCino, Inc.",
"domainName": "ncino.com",
- "address": "Wilmington",
+ "addressAddressCity": "Wilmington",
"employees": 1680,
"linkedinLinkUrl": "https://linkedin.com/company/ncino-inc-"
},
{
"name": "Vistex",
"domainName": "vistex.com",
- "address": "Hoffman Estates",
+ "addressAddressCity": "Hoffman Estates",
"employees": 1677,
"linkedinLinkUrl": "https://linkedin.com/company/vistex"
},
{
"name": "Taboola",
"domainName": "taboola.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 1677,
"linkedinLinkUrl": "https://linkedin.com/company/taboola"
},
{
"name": "EverCommerce",
"domainName": "evercommerce.com",
- "address": "Denver",
+ "addressAddressCity": "Denver",
"employees": 1673,
"linkedinLinkUrl": "https://linkedin.com/company/evercommerce"
},
{
"name": "Virgin Pulse",
"domainName": "virginpulse.com",
- "address": "Providence",
+ "addressAddressCity": "Providence",
"employees": 1666,
"linkedinLinkUrl": "https://linkedin.com/company/virgin-pulse"
},
{
"name": "Houzz",
"domainName": "houzz.com",
- "address": "Palo Alto",
+ "addressAddressCity": "Palo Alto",
"employees": 1641,
"linkedinLinkUrl": "https://linkedin.com/company/houzz"
},
{
"name": "AvidXchange, Inc.",
"domainName": "avidxchange.com",
- "address": "Charlotte",
+ "addressAddressCity": "Charlotte",
"employees": 1639,
"linkedinLinkUrl": "https://linkedin.com/company/avidxchange-inc-"
},
{
"name": "Planview, Inc.",
"domainName": "planview.com",
- "address": "Austin",
+ "addressAddressCity": "Austin",
"employees": 1634,
"linkedinLinkUrl": "https://linkedin.com/company/planview"
},
{
"name": "HackerRank",
"domainName": "hackerrank.com",
- "address": "Mountain View",
+ "addressAddressCity": "Mountain View",
"employees": 1632,
"linkedinLinkUrl": "https://linkedin.com/company/hackerrank"
},
{
"name": "Clearwater Analytics",
"domainName": "clearwateranalytics.com",
- "address": "Boise",
+ "addressAddressCity": "Boise",
"employees": 1615,
"linkedinLinkUrl": "https://linkedin.com/company/clearwateranalytics"
},
{
"name": "Outreach",
"domainName": "outreach.io",
- "address": "Seattle",
+ "addressAddressCity": "Seattle",
"employees": 1612,
"linkedinLinkUrl": "https://linkedin.com/company/outreach-saas"
},
{
"name": "Everbridge",
"domainName": "everbridge.com",
- "address": "Burlington",
+ "addressAddressCity": "Burlington",
"employees": 1607,
"linkedinLinkUrl": "https://linkedin.com/company/everbridge"
},
{
"name": "Zycus",
"domainName": "zycus.com",
- "address": "Princeton",
+ "addressAddressCity": "Princeton",
"employees": 1604,
"linkedinLinkUrl": "https://linkedin.com/company/zycus"
},
{
"name": "Bullhorn",
"domainName": "bullhorn.com",
- "address": "Boston",
+ "addressAddressCity": "Boston",
"employees": 1604,
"linkedinLinkUrl": "https://linkedin.com/company/bullhorn"
},
{
"name": "LivePerson",
"domainName": "liveperson.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 1603,
"linkedinLinkUrl": "https://linkedin.com/company/liveperson"
},
{
"name": "Relativity",
"domainName": "relativity.com",
- "address": "Chicago",
+ "addressAddressCity": "Chicago",
"employees": 1601,
"linkedinLinkUrl": "https://linkedin.com/company/relativityhq"
},
{
"name": "HealthEdge",
"domainName": "healthedge.com",
- "address": "Burlington",
+ "addressAddressCity": "Burlington",
"employees": 1600,
"linkedinLinkUrl": "https://linkedin.com/company/healthedge"
},
{
"name": "QAD",
"domainName": "qad.com",
- "address": "Santa Barbara",
+ "addressAddressCity": "Santa Barbara",
"employees": 1598,
"linkedinLinkUrl": "https://linkedin.com/company/qad"
},
{
"name": "Braze",
"domainName": "braze.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 1598,
"linkedinLinkUrl": "https://linkedin.com/company/braze-"
},
{
"name": "Exadel",
"domainName": "exadel.com",
- "address": "Walnut Creek",
+ "addressAddressCity": "Walnut Creek",
"employees": 1592,
"linkedinLinkUrl": "https://linkedin.com/company/exadel"
},
{
"name": "Phenom",
"domainName": "phenom.com",
- "address": "Ambler",
+ "addressAddressCity": "Ambler",
"employees": 1592,
"linkedinLinkUrl": "https://linkedin.com/company/phenomtxm"
},
{
"name": "Bazaarvoice",
"domainName": "bazaarvoice.com",
- "address": "Austin",
+ "addressAddressCity": "Austin",
"employees": 1587,
"linkedinLinkUrl": "https://linkedin.com/company/bazaarvoice"
},
{
"name": "AppDynamics",
"domainName": "appdynamics.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 1553,
"linkedinLinkUrl": "https://linkedin.com/company/appdynamics"
},
{
"name": "Mitchell International",
"domainName": "mitchell.com",
- "address": "San Diego",
+ "addressAddressCity": "San Diego",
"employees": 1548,
"linkedinLinkUrl": "https://linkedin.com/company/mitchell-international"
},
{
"name": "Talkdesk",
"domainName": "talkdesk.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 1491,
"linkedinLinkUrl": "https://linkedin.com/company/talkdesk"
},
{
"name": "Hughes Systique Corporation (HSC)",
"domainName": "hsc.com",
- "address": "Rockville",
+ "addressAddressCity": "Rockville",
"employees": 1481,
"linkedinLinkUrl": "https://linkedin.com/company/hsc"
},
{
"name": "Avature",
"domainName": "avature.net",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 1478,
"linkedinLinkUrl": "https://linkedin.com/company/avature"
},
{
"name": "Anyone Home Inc",
"domainName": "anyonehome.com",
- "address": "Lake Forest",
+ "addressAddressCity": "Lake Forest",
"employees": 1476,
"linkedinLinkUrl": "https://linkedin.com/company/anyone-home-inc"
},
{
"name": "Engineer.ai",
"domainName": "builder.ai",
- "address": "Venice",
+ "addressAddressCity": "Venice",
"employees": 1474,
"linkedinLinkUrl": "https://linkedin.com/company/engineer.ai"
},
{
"name": "Apptio",
"domainName": "apptio.com",
- "address": "Bellevue",
+ "addressAddressCity": "Bellevue",
"employees": 1467,
"linkedinLinkUrl": "https://linkedin.com/company/apptio"
},
{
"name": "KMS Technology, Inc.",
"domainName": "kms-technology.com",
- "address": "Atlanta",
+ "addressAddressCity": "Atlanta",
"employees": 1464,
"linkedinLinkUrl": "https://linkedin.com/company/kms-technology"
},
{
"name": "JFrog",
"domainName": "jfrog.com",
- "address": "Sunnyvale",
+ "addressAddressCity": "Sunnyvale",
"employees": 1459,
"linkedinLinkUrl": "https://linkedin.com/company/jfrog-ltd"
},
{
"name": "ASG Technologies",
"domainName": "asg.com",
- "address": "Naples",
+ "addressAddressCity": "Naples",
"employees": 1459,
"linkedinLinkUrl": "https://linkedin.com/company/asg"
},
{
"name": "Seismic",
"domainName": "seismic.com",
- "address": "San Diego",
+ "addressAddressCity": "San Diego",
"employees": 1457,
"linkedinLinkUrl": "https://linkedin.com/company/seismic"
},
{
"name": "ModMed",
"domainName": "modmed.com",
- "address": "Boca Raton",
+ "addressAddressCity": "Boca Raton",
"employees": 1452,
"linkedinLinkUrl": "https://linkedin.com/company/modernizing-medicine"
},
{
"name": "ACV Auctions",
"domainName": "acvauctions.com",
- "address": "Buffalo",
+ "addressAddressCity": "Buffalo",
"employees": 1450,
"linkedinLinkUrl": "https://linkedin.com/company/acv-auctions"
},
{
"name": "Cerence Inc.",
"domainName": "cerence.com",
- "address": "Burlington",
+ "addressAddressCity": "Burlington",
"employees": 1448,
"linkedinLinkUrl": "https://linkedin.com/company/cerence"
},
{
"name": "Via",
"domainName": "ridewithvia.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 1446,
"linkedinLinkUrl": "https://linkedin.com/company/ridewithvia"
},
{
"name": "Kingsoft",
"domainName": "ksosoft.com",
- "address": "Palo Alto",
+ "addressAddressCity": "Palo Alto",
"employees": 1445,
"linkedinLinkUrl": "https://linkedin.com/company/kingsoft"
},
{
"name": "Model N",
"domainName": "modeln.com",
- "address": "San Mateo",
+ "addressAddressCity": "San Mateo",
"employees": 1445,
"linkedinLinkUrl": "https://linkedin.com/company/modeln"
},
{
"name": "ThoughtSpot",
"domainName": "thoughtspot.com",
- "address": "Mountain View",
+ "addressAddressCity": "Mountain View",
"employees": 1436,
"linkedinLinkUrl": "https://linkedin.com/company/thoughtspot"
},
{
"name": "SSS",
"domainName": "getebs.com",
- "address": "Littleton",
+ "addressAddressCity": "Littleton",
"employees": 1431,
"linkedinLinkUrl": "https://linkedin.com/company/employee-based-software"
},
{
"name": "BeyondTrust",
"domainName": "beyondtrust.com",
- "address": "Duluth",
+ "addressAddressCity": "Duluth",
"employees": 1428,
"linkedinLinkUrl": "https://linkedin.com/company/beyondtrust"
},
{
"name": "MetricStream",
"domainName": "metricstream.com",
- "address": "Alviso",
+ "addressAddressCity": "Alviso",
"employees": 1426,
"linkedinLinkUrl": "https://linkedin.com/company/metricstream"
},
{
"name": "LogMeIn",
"domainName": "logmeininc.com",
- "address": "Boston",
+ "addressAddressCity": "Boston",
"employees": 1425,
"linkedinLinkUrl": "https://linkedin.com/company/logmein"
},
{
"name": "Khoros",
"domainName": "khoros.com",
- "address": "Austin",
+ "addressAddressCity": "Austin",
"employees": 1424,
"linkedinLinkUrl": "https://linkedin.com/company/khoros"
},
{
"name": "Sprout Social, Inc.",
"domainName": "sproutsocial.com",
- "address": "Chicago",
+ "addressAddressCity": "Chicago",
"employees": 1416,
"linkedinLinkUrl": "https://linkedin.com/company/sprout-social-inc-"
},
{
"name": "Odessa",
"domainName": "odessainc.com",
- "address": "Philadelphia",
+ "addressAddressCity": "Philadelphia",
"employees": 1415,
"linkedinLinkUrl": "https://linkedin.com/company/odessa-inc-"
},
{
"name": "Enverus",
"domainName": "enverus.com",
- "address": "Austin",
+ "addressAddressCity": "Austin",
"employees": 1404,
"linkedinLinkUrl": "https://linkedin.com/company/enverus-energy"
},
{
"name": "AvePoint",
"domainName": "avepoint.com",
- "address": "Jersey City",
+ "addressAddressCity": "Jersey City",
"employees": 1404,
"linkedinLinkUrl": "https://linkedin.com/company/avepoint"
},
{
"name": "Gong",
"domainName": "gong.io",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 1398,
"linkedinLinkUrl": "https://linkedin.com/company/gong-io"
},
{
"name": "Syncfusion",
"domainName": "syncfusion.com",
- "address": "Morrisville",
+ "addressAddressCity": "Morrisville",
"employees": 1397,
"linkedinLinkUrl": "https://linkedin.com/company/syncfusion"
},
{
"name": "Ping Identity",
"domainName": "pingidentity.com",
- "address": "Denver",
+ "addressAddressCity": "Denver",
"employees": 1388,
"linkedinLinkUrl": "https://linkedin.com/company/ping-identity"
},
{
"name": "WellSky",
"domainName": "wellsky.com",
- "address": "Overland Park",
+ "addressAddressCity": "Overland Park",
"employees": 1387,
"linkedinLinkUrl": "https://linkedin.com/company/wellsky"
},
{
"name": "Tricentis",
"domainName": "tricentis.com",
- "address": "Austin",
+ "addressAddressCity": "Austin",
"employees": 1383,
"linkedinLinkUrl": "https://linkedin.com/company/tricentis"
},
{
"name": "Taskrabbit",
"domainName": "taskrabbit.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 1383,
"linkedinLinkUrl": "https://linkedin.com/company/taskrabbit"
},
{
"name": "Syniti",
"domainName": "syniti.com",
- "address": "Needham Heights",
+ "addressAddressCity": "Needham Heights",
"employees": 1372,
"linkedinLinkUrl": "https://linkedin.com/company/synitidata"
},
{
"name": "BigCommerce",
"domainName": "bigcommerce.com",
- "address": "Austin",
+ "addressAddressCity": "Austin",
"employees": 1360,
"linkedinLinkUrl": "https://linkedin.com/company/bigcommerce"
},
{
"name": "OEC",
"domainName": "oeconnection.com",
- "address": "Richfield",
+ "addressAddressCity": "Richfield",
"employees": 1357,
"linkedinLinkUrl": "https://linkedin.com/company/oeconnection"
},
{
"name": "Calsoft",
"domainName": "calsoftinc.com",
- "address": "San Jose",
+ "addressAddressCity": "San Jose",
"employees": 1357,
"linkedinLinkUrl": "https://linkedin.com/company/calsoft"
},
{
"name": "Taller",
"domainName": "tallertechnologies.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 1351,
"linkedinLinkUrl": "https://linkedin.com/company/taller-technologies"
},
{
"name": "Planet",
"domainName": "planet.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 1348,
"linkedinLinkUrl": "https://linkedin.com/company/planet-labs"
},
{
"name": "6sense",
"domainName": "6sense.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 1346,
"linkedinLinkUrl": "https://linkedin.com/company/6sense"
},
{
"name": "Vitech Systems Group",
"domainName": "vitechinc.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 1345,
"linkedinLinkUrl": "https://linkedin.com/company/vitech-systems-group"
},
{
"name": "Smarsh",
"domainName": "smarsh.com",
- "address": "Portland",
+ "addressAddressCity": "Portland",
"employees": 1344,
"linkedinLinkUrl": "https://linkedin.com/company/smarsh"
},
{
"name": "NICE Actimize",
"domainName": "niceactimize.com",
- "address": "Hoboken",
+ "addressAddressCity": "Hoboken",
"employees": 1343,
"linkedinLinkUrl": "https://linkedin.com/company/actimize"
},
{
"name": "Dataiku",
"domainName": "dataiku.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 1340,
"linkedinLinkUrl": "https://linkedin.com/company/dataiku"
},
{
"name": "Liferay",
"domainName": "liferay.com",
- "address": "Diamond Bar",
+ "addressAddressCity": "Diamond Bar",
"employees": 1329,
"linkedinLinkUrl": "https://linkedin.com/company/liferay-inc-"
},
{
"name": "Gainsight",
"domainName": "gainsight.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 1328,
"linkedinLinkUrl": "https://linkedin.com/company/gainsight"
},
{
"name": "Infotech",
"domainName": "infotechinc.com",
- "address": "Gainesville",
+ "addressAddressCity": "Gainesville",
"employees": 1322,
"linkedinLinkUrl": "https://linkedin.com/company/infotech-inc"
},
{
"name": "JAGGAER",
"domainName": "jaggaer.com",
- "address": "Morrisville",
+ "addressAddressCity": "Morrisville",
"employees": 1317,
"linkedinLinkUrl": "https://linkedin.com/company/jaggaer"
},
{
"name": "Checkr, Inc.",
"domainName": "checkr.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 1304,
"linkedinLinkUrl": "https://linkedin.com/company/checkr-com"
},
{
"name": "CARFAX",
"domainName": "carfax.com",
- "address": "Centreville",
+ "addressAddressCity": "Centreville",
"employees": 1296,
"linkedinLinkUrl": "https://linkedin.com/company/carfax"
},
{
"name": "Lucid Software",
"domainName": "lucid.co",
- "address": "South Jordan",
+ "addressAddressCity": "South Jordan",
"employees": 1295,
"linkedinLinkUrl": "https://linkedin.com/company/lucidsoftware"
},
{
"name": "Domo",
"domainName": "domo.com",
- "address": "American Fork",
+ "addressAddressCity": "American Fork",
"employees": 1293,
"linkedinLinkUrl": "https://linkedin.com/company/domotalk"
},
{
"name": "Podium",
"domainName": "podium.com",
- "address": "Lehi",
+ "addressAddressCity": "Lehi",
"employees": 1292,
"linkedinLinkUrl": "https://linkedin.com/company/podium"
},
{
"name": "Mendix",
"domainName": "mendix.com",
- "address": "Boston",
+ "addressAddressCity": "Boston",
"employees": 1290,
"linkedinLinkUrl": "https://linkedin.com/company/mendix"
},
{
"name": "EDB",
"domainName": "edbpostgres.com",
- "address": "Bedford",
+ "addressAddressCity": "Bedford",
"employees": 1289,
"linkedinLinkUrl": "https://linkedin.com/company/edbpostgres"
},
{
"name": "OneStream Software",
"domainName": "onestreamsoftware.com",
- "address": "Birmingham",
+ "addressAddressCity": "Birmingham",
"employees": 1288,
"linkedinLinkUrl": "https://linkedin.com/company/onestream-software"
},
{
"name": "Rent.",
"domainName": "rent.com",
- "address": "Atlanta",
+ "addressAddressCity": "Atlanta",
"employees": 1285,
"linkedinLinkUrl": "https://linkedin.com/company/rentsolutions"
},
{
"name": "Waystar",
"domainName": "waystar.com",
- "address": "Louisville",
+ "addressAddressCity": "Louisville",
"employees": 1273,
"linkedinLinkUrl": "https://linkedin.com/company/waystar"
},
{
"name": "2020",
"domainName": "2020spaces.com",
- "address": "Westford",
+ "addressAddressCity": "Westford",
"employees": 1267,
"linkedinLinkUrl": "https://linkedin.com/company/2020spaces"
},
{
"name": "isolved",
"domainName": "isolvedhcm.com",
- "address": "Charlotte",
+ "addressAddressCity": "Charlotte",
"employees": 1261,
"linkedinLinkUrl": "https://linkedin.com/company/isolved"
},
{
"name": "Art Technology Group",
"domainName": "atg.com",
- "address": "Cambridge",
+ "addressAddressCity": "Cambridge",
"employees": 1259,
"linkedinLinkUrl": "https://linkedin.com/company/atg"
},
{
"name": "CAST",
"domainName": "castsoftware.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 1259,
"linkedinLinkUrl": "https://linkedin.com/company/cast"
},
{
"name": "OCLC",
"domainName": "oc.lc",
- "address": "Dublin",
+ "addressAddressCity": "Dublin",
"employees": 1258,
"linkedinLinkUrl": "https://linkedin.com/company/oclc"
},
{
"name": "Mediaocean",
"domainName": "mediaocean.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 1255,
"linkedinLinkUrl": "https://linkedin.com/company/mediaocean"
},
{
"name": "Bandwidth Inc.",
"domainName": "bandwidth.com",
- "address": "Raleigh",
+ "addressAddressCity": "Raleigh",
"employees": 1252,
"linkedinLinkUrl": "https://linkedin.com/company/bandwidth-inc"
},
{
"name": "Hexagon Safety, Infrastructure & Geospatial",
"domainName": "hexagonsafetyinfrastructure.com",
- "address": "Madison",
+ "addressAddressCity": "Madison",
"employees": 1252,
"linkedinLinkUrl": "https://linkedin.com/company/hexagon-geospatial"
},
{
"name": "Wish",
"domainName": "wish.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 1248,
"linkedinLinkUrl": "https://linkedin.com/company/wishshopping"
},
{
"name": "Sagitec Solutions",
"domainName": "sagitec.com",
- "address": "Saint Paul",
+ "addressAddressCity": "Saint Paul",
"employees": 1244,
"linkedinLinkUrl": "https://linkedin.com/company/sagitec-solutions"
},
{
"name": "Zinnia ",
"domainName": "zinnia.com",
- "address": "Greenwich",
+ "addressAddressCity": "Greenwich",
"employees": 1243,
"linkedinLinkUrl": "https://linkedin.com/company/zinniatm"
},
{
"name": "CureMD",
"domainName": "curemd.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 1243,
"linkedinLinkUrl": "https://linkedin.com/company/curemd"
},
{
"name": "Druva",
"domainName": "druva.com",
- "address": "Santa Clara",
+ "addressAddressCity": "Santa Clara",
"employees": 1238,
"linkedinLinkUrl": "https://linkedin.com/company/druva"
},
{
"name": "Restaurant365",
"domainName": "restaurant365.com",
- "address": "Irvine",
+ "addressAddressCity": "Irvine",
"employees": 1234,
"linkedinLinkUrl": "https://linkedin.com/company/restaurant365-cloud-erp-for-restaurants"
},
{
"name": "Lawson Software",
"domainName": "lawson.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 1231,
"linkedinLinkUrl": "https://linkedin.com/company/lawson-software"
},
{
"name": "AlphaSense",
"domainName": "alpha-sense.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 1223,
"linkedinLinkUrl": "https://linkedin.com/company/alphasense"
},
{
"name": "ECI Software Solutions",
"domainName": "ecisolutions.com",
- "address": "Fort Worth",
+ "addressAddressCity": "Fort Worth",
"employees": 1223,
"linkedinLinkUrl": "https://linkedin.com/company/eci-software--solutions"
},
{
"name": "Wrike",
"domainName": "wrike.com",
- "address": "San Diego",
+ "addressAddressCity": "San Diego",
"employees": 1210,
"linkedinLinkUrl": "https://linkedin.com/company/wrike"
},
{
"name": "Syndigo",
"domainName": "syndigo.com",
- "address": "Chicago",
+ "addressAddressCity": "Chicago",
"employees": 1208,
"linkedinLinkUrl": "https://linkedin.com/company/syndigo"
},
{
"name": "Gigamon",
"domainName": "gigamon.com",
- "address": "Santa Clara",
+ "addressAddressCity": "Santa Clara",
"employees": 1196,
"linkedinLinkUrl": "https://linkedin.com/company/gigamon"
},
{
"name": "Fastly",
"domainName": "fastly.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 1188,
"linkedinLinkUrl": "https://linkedin.com/company/fastly"
},
{
"name": "Cantaloupe Inc",
"domainName": "cantaloupe.com",
- "address": "Malvern",
+ "addressAddressCity": "Malvern",
"employees": 1187,
"linkedinLinkUrl": "https://linkedin.com/company/cantaloupeinc"
},
{
"name": "EagleView",
"domainName": "eagleview.com",
- "address": "Bellevue",
+ "addressAddressCity": "Bellevue",
"employees": 1184,
"linkedinLinkUrl": "https://linkedin.com/company/eagleview-technologies-inc"
},
{
"name": "Litera",
"domainName": "litera.com",
- "address": "Chicago",
+ "addressAddressCity": "Chicago",
"employees": 1183,
"linkedinLinkUrl": "https://linkedin.com/company/literamicrosystems"
},
{
"name": "Collibra",
"domainName": "collibra.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 1183,
"linkedinLinkUrl": "https://linkedin.com/company/collibra"
},
{
"name": "Picsart",
"domainName": "picsart.com",
- "address": "Miami Beach",
+ "addressAddressCity": "Miami Beach",
"employees": 1180,
"linkedinLinkUrl": "https://linkedin.com/company/picsart-photo-studio"
},
{
"name": "CalAmp",
"domainName": "calamp.com",
- "address": "Irvine",
+ "addressAddressCity": "Irvine",
"employees": 1180,
"linkedinLinkUrl": "https://linkedin.com/company/calamp-corp"
},
{
"name": "ESS",
"domainName": "ess-home.com",
- "address": "Tempe",
+ "addressAddressCity": "Tempe",
"employees": 1178,
"linkedinLinkUrl": "https://linkedin.com/company/ess"
},
{
"name": "Grafana Labs",
"domainName": "grafana.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 1178,
"linkedinLinkUrl": "https://linkedin.com/company/grafana-labs"
},
{
"name": "Fivetran",
"domainName": "5tran.co",
- "address": "Oakland",
+ "addressAddressCity": "Oakland",
"employees": 1176,
"linkedinLinkUrl": "https://linkedin.com/company/fivetran"
},
{
"name": "CentralSquare Technologies",
"domainName": "centralsquare.com",
- "address": "Lake Mary",
+ "addressAddressCity": "Lake Mary",
"employees": 1175,
"linkedinLinkUrl": "https://linkedin.com/company/centralsqtech"
},
{
"name": "StubHub",
"domainName": "stubhub.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 1164,
"linkedinLinkUrl": "https://linkedin.com/company/stubhub"
},
{
"name": "EIS Ltd",
"domainName": "eisgroup.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 1154,
"linkedinLinkUrl": "https://linkedin.com/company/eisgroupltd"
},
{
"name": "Tebra",
"domainName": "tebra.com",
- "address": "Corona Del Mar",
+ "addressAddressCity": "Corona Del Mar",
"employees": 1151,
"linkedinLinkUrl": "https://linkedin.com/company/tebra"
},
{
"name": "Benefitfocus",
"domainName": "benefitfocus.com",
- "address": "Charleston",
+ "addressAddressCity": "Charleston",
"employees": 1148,
"linkedinLinkUrl": "https://linkedin.com/company/benefitfocus"
},
{
"name": "NISC",
"domainName": "nisc.coop",
- "address": "Lake Saint Louis",
+ "addressAddressCity": "Lake Saint Louis",
"employees": 1140,
"linkedinLinkUrl": "https://linkedin.com/company/nisc"
},
{
"name": "Dell Compellent",
"domainName": "dell.com",
- "address": "Eden Prairie",
+ "addressAddressCity": "Eden Prairie",
"employees": 1138,
"linkedinLinkUrl": "https://linkedin.com/company/dell-compellent"
},
{
"name": "Radancy",
"domainName": "radancy.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 1137,
"linkedinLinkUrl": "https://linkedin.com/company/radancy"
},
{
"name": "Granicus",
"domainName": "granicus.com",
- "address": "Denver",
+ "addressAddressCity": "Denver",
"employees": 1134,
"linkedinLinkUrl": "https://linkedin.com/company/granicusinc"
},
{
"name": "ACTIVE Network",
"domainName": "activenetwork.com",
- "address": "Plano",
+ "addressAddressCity": "Plano",
"employees": 1134,
"linkedinLinkUrl": "https://linkedin.com/company/the-active-network"
},
{
"name": "Acquia",
"domainName": "acquia.com",
- "address": "Boston",
+ "addressAddressCity": "Boston",
"employees": 1134,
"linkedinLinkUrl": "https://linkedin.com/company/acquia"
},
{
"name": "WalkMe\u2122",
"domainName": "walkme.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 1127,
"linkedinLinkUrl": "https://linkedin.com/company/walkme"
},
{
"name": "Outbrain",
"domainName": "outbrain.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 1123,
"linkedinLinkUrl": "https://linkedin.com/company/outbrain"
},
{
"name": "WillowTree",
"domainName": "willowtreeapps.com",
- "address": "Charlottesville",
+ "addressAddressCity": "Charlottesville",
"employees": 1117,
"linkedinLinkUrl": "https://linkedin.com/company/willowtreeapps"
},
{
"name": "LogicMonitor",
"domainName": "logicmonitor.com",
- "address": "Santa Barbara",
+ "addressAddressCity": "Santa Barbara",
"employees": 1113,
"linkedinLinkUrl": "https://linkedin.com/company/logicmonitor"
},
{
"name": "Jellysmack",
"domainName": "jellysmack.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 1109,
"linkedinLinkUrl": "https://linkedin.com/company/jellysmack"
},
{
"name": "Henry Schein One",
"domainName": "henryscheinone.com",
- "address": "American Fork",
+ "addressAddressCity": "American Fork",
"employees": 1108,
"linkedinLinkUrl": "https://linkedin.com/company/henry-schein-one"
},
{
"name": "Prometheus Group",
"domainName": "prometheusgroup.com",
- "address": "Raleigh",
+ "addressAddressCity": "Raleigh",
"employees": 1102,
"linkedinLinkUrl": "https://linkedin.com/company/prometheusgroup"
},
{
"name": "Atlas",
"domainName": "atlashxm.com",
- "address": "Chicago",
+ "addressAddressCity": "Chicago",
"employees": 1101,
"linkedinLinkUrl": "https://linkedin.com/company/atlashxm"
},
{
"name": "Dialpad",
"domainName": "dialpad.com",
- "address": "San Ramon",
+ "addressAddressCity": "San Ramon",
"employees": 1101,
"linkedinLinkUrl": "https://linkedin.com/company/dialpad"
},
{
"name": "Accruent",
"domainName": "accruent.com",
- "address": "Austin",
+ "addressAddressCity": "Austin",
"employees": 1098,
"linkedinLinkUrl": "https://linkedin.com/company/accruent"
},
{
"name": "Charles River Development",
"domainName": "crd.com",
- "address": "Burlington",
+ "addressAddressCity": "Burlington",
"employees": 1090,
"linkedinLinkUrl": "https://linkedin.com/company/charles-river-development"
},
{
"name": "Flexera",
"domainName": "flexera.com",
- "address": "Itasca",
+ "addressAddressCity": "Itasca",
"employees": 1089,
"linkedinLinkUrl": "https://linkedin.com/company/flexera"
},
{
"name": "Quotient Technology Inc.",
"domainName": "quotient.com",
- "address": "Salt Lake City",
+ "addressAddressCity": "Salt Lake City",
"employees": 1087,
"linkedinLinkUrl": "https://linkedin.com/company/quotient-technology"
},
{
"name": "Sage Intacct, Inc.",
"domainName": "sageintacct.com",
- "address": "San Jose",
+ "addressAddressCity": "San Jose",
"employees": 1087,
"linkedinLinkUrl": "https://linkedin.com/company/sageintacct"
},
{
"name": "Plaid",
"domainName": "plaid.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 1081,
"linkedinLinkUrl": "https://linkedin.com/company/plaid-"
},
{
"name": "C3 AI",
"domainName": "c3.ai",
- "address": "Redwood City",
+ "addressAddressCity": "Redwood City",
"employees": 1077,
"linkedinLinkUrl": "https://linkedin.com/company/c3-ai"
},
{
"name": "Upland Software",
"domainName": "uplandsoftware.com",
- "address": "Austin",
+ "addressAddressCity": "Austin",
"employees": 1072,
"linkedinLinkUrl": "https://linkedin.com/company/upland-software"
},
{
"name": "Zapier",
"domainName": "zapier.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 1066,
"linkedinLinkUrl": "https://linkedin.com/company/zapier"
},
{
"name": "WSO2",
"domainName": "wso2.com",
- "address": "Santa Clara",
+ "addressAddressCity": "Santa Clara",
"employees": 1065,
"linkedinLinkUrl": "https://linkedin.com/company/wso2"
},
{
"name": "Auctane",
"domainName": "auctane.com",
- "address": "Austin",
+ "addressAddressCity": "Austin",
"employees": 1055,
"linkedinLinkUrl": "https://linkedin.com/company/auctane"
},
{
"name": "Salesloft",
"domainName": "salesloft.com",
- "address": "Atlanta",
+ "addressAddressCity": "Atlanta",
"employees": 1055,
"linkedinLinkUrl": "https://linkedin.com/company/salesloft"
},
{
"name": "RLDatix",
"domainName": "rldatix.com",
- "address": "Chicago",
+ "addressAddressCity": "Chicago",
"employees": 1048,
"linkedinLinkUrl": "https://linkedin.com/company/rldatix"
},
{
"name": "SS&C Blue Prism",
"domainName": "blueprism.com",
- "address": "Windsor",
+ "addressAddressCity": "Windsor",
"employees": 1048,
"linkedinLinkUrl": "https://linkedin.com/company/blue-prism-limited"
},
{
"name": "Waitr",
"domainName": "waitrapp.com",
- "address": "Lafayette",
+ "addressAddressCity": "Lafayette",
"employees": 1043,
"linkedinLinkUrl": "https://linkedin.com/company/waitr-inc-"
},
{
"name": "Software Engineering Institute | Carnegie Mellon University",
"domainName": "sei.cmu.edu",
- "address": "Pittsburgh",
+ "addressAddressCity": "Pittsburgh",
"employees": 1043,
"linkedinLinkUrl": "https://linkedin.com/company/software-engineering-institute"
},
{
"name": "Downey Unified School District",
"domainName": "dusd.net",
- "address": "Downey",
+ "addressAddressCity": "Downey",
"employees": 1038,
"linkedinLinkUrl": "https://linkedin.com/company/downey-unified-school-district"
},
{
"name": "Private Access, Inc.",
"domainName": "privateaccess.com",
- "address": "Irvine",
+ "addressAddressCity": "Irvine",
"employees": 1037,
"linkedinLinkUrl": "https://linkedin.com/company/private-access-inc."
},
{
"name": "iManage",
"domainName": "imanage.com",
- "address": "Chicago",
+ "addressAddressCity": "Chicago",
"employees": 1036,
"linkedinLinkUrl": "https://linkedin.com/company/imanage"
},
{
"name": "QASource",
"domainName": "qasource.com",
- "address": "Pleasanton",
+ "addressAddressCity": "Pleasanton",
"employees": 1032,
"linkedinLinkUrl": "https://linkedin.com/company/qasource"
},
{
"name": "Azuga, Inc.",
"domainName": "azuga.com",
- "address": "San Jose",
+ "addressAddressCity": "San Jose",
"employees": 1026,
"linkedinLinkUrl": "https://linkedin.com/company/azuga-inc-"
},
{
"name": "Talent Systems, LLC",
"domainName": "talentsystems.com",
- "address": "Los Angeles",
+ "addressAddressCity": "Los Angeles",
"employees": 1022,
"linkedinLinkUrl": "https://linkedin.com/company/talent-systems-llc"
},
{
"name": "Datasite",
"domainName": "datasite.com",
- "address": "Minneapolis",
+ "addressAddressCity": "Minneapolis",
"employees": 1021,
"linkedinLinkUrl": "https://linkedin.com/company/datasiteglobal"
},
{
"name": "AVASOFT",
"domainName": "avasoft.com",
- "address": "Blue Bell",
+ "addressAddressCity": "Blue Bell",
"employees": 1017,
"linkedinLinkUrl": "https://linkedin.com/company/avasoft"
},
{
"name": "DataRobot",
"domainName": "datarobot.com",
- "address": "Boston",
+ "addressAddressCity": "Boston",
"employees": 1015,
"linkedinLinkUrl": "https://linkedin.com/company/datarobot"
},
{
"name": "Technisys",
"domainName": "technisys.com",
- "address": "Miami",
+ "addressAddressCity": "Miami",
"employees": 1014,
"linkedinLinkUrl": "https://linkedin.com/company/technisys"
},
{
"name": "project44",
"domainName": "project44.com",
- "address": "Chicago",
+ "addressAddressCity": "Chicago",
"employees": 1013,
"linkedinLinkUrl": "https://linkedin.com/company/project-44"
},
{
"name": "Imprivata",
"domainName": "imprivata.com",
- "address": "Waltham",
+ "addressAddressCity": "Waltham",
"employees": 1013,
"linkedinLinkUrl": "https://linkedin.com/company/imprivata"
},
{
"name": "Webflow",
"domainName": "webflow.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 1011,
"linkedinLinkUrl": "https://linkedin.com/company/webflow-inc-"
},
{
"name": "Blend",
"domainName": "blend.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 1011,
"linkedinLinkUrl": "https://linkedin.com/company/blend-"
},
{
"name": "Egnyte",
"domainName": "egnyte.com",
- "address": "Mountain View",
+ "addressAddressCity": "Mountain View",
"employees": 1009,
"linkedinLinkUrl": "https://linkedin.com/company/egnyte"
},
{
"name": "SS&C Eze",
"domainName": "ezesoft.com",
- "address": "Windsor",
+ "addressAddressCity": "Windsor",
"employees": 1008,
"linkedinLinkUrl": "https://linkedin.com/company/ezesoftware"
},
{
"name": "Tipalti",
"domainName": "tipalti.com",
- "address": "San Mateo",
+ "addressAddressCity": "San Mateo",
"employees": 1007,
"linkedinLinkUrl": "https://linkedin.com/company/tipalti"
},
{
"name": "Altium\u00ae",
"domainName": "altium.com",
- "address": "La Jolla",
+ "addressAddressCity": "La Jolla",
"employees": 1005,
"linkedinLinkUrl": "https://linkedin.com/company/altium"
},
{
"name": "airSlate",
"domainName": "airslate.com",
- "address": "Brookline",
+ "addressAddressCity": "Brookline",
"employees": 1001,
"linkedinLinkUrl": "https://linkedin.com/company/airslate"
},
{
"name": "Arbisoft",
"domainName": "arbisoft.com",
- "address": "Mckinney",
+ "addressAddressCity": "Mckinney",
"employees": 996,
"linkedinLinkUrl": "https://linkedin.com/company/arbisoft"
},
{
"name": "Airtable",
"domainName": "airtable.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 989,
"linkedinLinkUrl": "https://linkedin.com/company/airtable"
},
{
"name": "Birdeye",
"domainName": "birdeye.com",
- "address": "Palo Alto",
+ "addressAddressCity": "Palo Alto",
"employees": 988,
"linkedinLinkUrl": "https://linkedin.com/company/birdeye"
},
{
"name": "Ultimate Software",
"domainName": "ultimatesoftware.com",
- "address": "Fort Lauderdale",
+ "addressAddressCity": "Fort Lauderdale",
"employees": 988,
"linkedinLinkUrl": "https://linkedin.com/company/ultimate-software"
},
{
"name": "Homecare Homebase",
"domainName": "hchb.com",
- "address": "Dallas",
+ "addressAddressCity": "Dallas",
"employees": 987,
"linkedinLinkUrl": "https://linkedin.com/company/homecare-homebase"
},
{
"name": "DISCO",
"domainName": "csdisco.com",
- "address": "Austin",
+ "addressAddressCity": "Austin",
"employees": 984,
"linkedinLinkUrl": "https://linkedin.com/company/cs-disco-llc"
},
{
"name": "Highspot",
"domainName": "highspot.com",
- "address": "Seattle",
+ "addressAddressCity": "Seattle",
"employees": 982,
"linkedinLinkUrl": "https://linkedin.com/company/highspot"
},
{
"name": "Sagent",
"domainName": "sagent.com",
- "address": "King Of Prussia",
+ "addressAddressCity": "King Of Prussia",
"employees": 981,
"linkedinLinkUrl": "https://linkedin.com/company/sagent-lending-technologies"
},
{
"name": "Apollo.io",
"domainName": "apollo.io",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 981,
"linkedinLinkUrl": "https://linkedin.com/company/apolloio"
},
{
"name": "PAS",
"domainName": "pas.com",
- "address": "Houston",
+ "addressAddressCity": "Houston",
"employees": 981,
"linkedinLinkUrl": "https://linkedin.com/company/pas"
},
{
"name": "Wikimedia Foundation",
"domainName": "wikimediafoundation.org",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 981,
"linkedinLinkUrl": "https://linkedin.com/company/wikimedia-foundation"
},
{
"name": "Nintex",
"domainName": "nintex.com",
- "address": "Bellevue",
+ "addressAddressCity": "Bellevue",
"employees": 978,
"linkedinLinkUrl": "https://linkedin.com/company/nintex"
},
{
"name": "RUCKUS Networks",
"domainName": "commscope.com",
- "address": "Sunnyvale",
+ "addressAddressCity": "Sunnyvale",
"employees": 978,
"linkedinLinkUrl": "https://linkedin.com/company/ruckus-networks"
},
{
"name": "ForgeRock",
"domainName": "forgerock.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 977,
"linkedinLinkUrl": "https://linkedin.com/company/forgerock"
},
{
"name": "Trading Technologies",
"domainName": "tradingtechnologies.com",
- "address": "Chicago",
+ "addressAddressCity": "Chicago",
"employees": 975,
"linkedinLinkUrl": "https://linkedin.com/company/trading-technologies"
},
{
"name": "KANINI",
"domainName": "kanini.com",
- "address": "Nashville",
+ "addressAddressCity": "Nashville",
"employees": 972,
"linkedinLinkUrl": "https://linkedin.com/company/kanini"
},
{
"name": "Dealer.com",
"domainName": "dealer.com",
- "address": "Burlington",
+ "addressAddressCity": "Burlington",
"employees": 962,
"linkedinLinkUrl": "https://linkedin.com/company/dealer-com"
},
{
"name": "WS",
"domainName": "ws-inc.com",
- "address": "Pinehurst",
+ "addressAddressCity": "Pinehurst",
"employees": 960,
"linkedinLinkUrl": "https://linkedin.com/company/wbem-solutions"
},
{
"name": "Kyriba",
"domainName": "kyriba.com",
- "address": "San Diego",
+ "addressAddressCity": "San Diego",
"employees": 960,
"linkedinLinkUrl": "https://linkedin.com/company/kyriba"
},
{
"name": "Demandbase",
"domainName": "demandbase.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 958,
"linkedinLinkUrl": "https://linkedin.com/company/demandbase"
},
{
"name": "Sumo Logic",
"domainName": "sumologic.com",
- "address": "Redwood City",
+ "addressAddressCity": "Redwood City",
"employees": 954,
"linkedinLinkUrl": "https://linkedin.com/company/sumo-logic"
},
{
"name": "Edifecs",
"domainName": "edifecs.com",
- "address": "Bellevue",
+ "addressAddressCity": "Bellevue",
"employees": 949,
"linkedinLinkUrl": "https://linkedin.com/company/edifecs"
},
{
"name": "ibi | Information Builders",
"domainName": "ibi.com",
- "address": "Fort Lauderdale",
+ "addressAddressCity": "Fort Lauderdale",
"employees": 948,
"linkedinLinkUrl": "https://linkedin.com/company/information-builders"
},
{
"name": "Emburse",
"domainName": "emburse.com",
- "address": "Los Angeles",
+ "addressAddressCity": "Los Angeles",
"employees": 941,
"linkedinLinkUrl": "https://linkedin.com/company/emburse"
},
{
"name": "ConstructConnect",
"domainName": "constructconnect.com",
- "address": "Cincinnati",
+ "addressAddressCity": "Cincinnati",
"employees": 940,
"linkedinLinkUrl": "https://linkedin.com/company/constructconnect"
},
{
"name": "Perforce Software",
"domainName": "perforce.com",
- "address": "Minneapolis",
+ "addressAddressCity": "Minneapolis",
"employees": 939,
"linkedinLinkUrl": "https://linkedin.com/company/perforce"
},
{
"name": "Insurity",
"domainName": "insurity.com",
- "address": "Hartford",
+ "addressAddressCity": "Hartford",
"employees": 938,
"linkedinLinkUrl": "https://linkedin.com/company/insurity"
},
{
"name": "webOS",
"domainName": "developer.lge.com",
- "address": "Santa Clara",
+ "addressAddressCity": "Santa Clara",
"employees": 936,
"linkedinLinkUrl": "https://linkedin.com/company/webos"
},
{
"name": "Zenoti",
"domainName": "zenoti.com",
- "address": "Bellevue",
+ "addressAddressCity": "Bellevue",
"employees": 934,
"linkedinLinkUrl": "https://linkedin.com/company/zenoti"
},
{
"name": "Intapp",
"domainName": "intapp.com",
- "address": "Palo Alto",
+ "addressAddressCity": "Palo Alto",
"employees": 930,
"linkedinLinkUrl": "https://linkedin.com/company/intapp"
},
{
"name": "OATI",
"domainName": "oati.com",
- "address": "Minneapolis",
+ "addressAddressCity": "Minneapolis",
"employees": 930,
"linkedinLinkUrl": "https://linkedin.com/company/oati"
},
{
"name": "Frontline Education",
"domainName": "frontlineeducation.com",
- "address": "Malvern",
+ "addressAddressCity": "Malvern",
"employees": 926,
"linkedinLinkUrl": "https://linkedin.com/company/frontline-education"
},
{
"name": "Aspect Software",
"domainName": "aspect.com",
- "address": "Westford",
+ "addressAddressCity": "Westford",
"employees": 920,
"linkedinLinkUrl": "https://linkedin.com/company/aspect-software"
},
{
"name": "GreyOrange",
"domainName": "greyorange.com",
- "address": "Roswell",
+ "addressAddressCity": "Roswell",
"employees": 919,
"linkedinLinkUrl": "https://linkedin.com/company/gogreyorange"
},
{
"name": "Sirion",
"domainName": "sirionlabs.com",
- "address": "Bellevue",
+ "addressAddressCity": "Bellevue",
"employees": 918,
"linkedinLinkUrl": "https://linkedin.com/company/sirionlabs"
},
{
"name": "In Time Tec",
"domainName": "intimetec.com",
- "address": "Meridian",
+ "addressAddressCity": "Meridian",
"employees": 917,
"linkedinLinkUrl": "https://linkedin.com/company/in-time-tec"
},
{
"name": "Operative",
"domainName": "operative.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 910,
"linkedinLinkUrl": "https://linkedin.com/company/operative"
},
{
"name": "Kore.ai",
"domainName": "kore.ai",
- "address": "Orlando",
+ "addressAddressCity": "Orlando",
"employees": 908,
"linkedinLinkUrl": "https://linkedin.com/company/kore-inc"
},
{
"name": "Redis",
"domainName": "redis.com",
- "address": "Mountain View",
+ "addressAddressCity": "Mountain View",
"employees": 908,
"linkedinLinkUrl": "https://linkedin.com/company/redisinc"
},
{
"name": "Addepar",
"domainName": "addepar.com",
- "address": "Mountain View",
+ "addressAddressCity": "Mountain View",
"employees": 907,
"linkedinLinkUrl": "https://linkedin.com/company/addepar"
},
{
"name": "TCP Software",
"domainName": "tcpsoftware.com",
- "address": "Austin",
+ "addressAddressCity": "Austin",
"employees": 902,
"linkedinLinkUrl": "https://linkedin.com/company/tcpsoftware"
},
{
"name": "TraceLink",
"domainName": "tracelink.com",
- "address": "Wilmington",
+ "addressAddressCity": "Wilmington",
"employees": 897,
"linkedinLinkUrl": "https://linkedin.com/company/tracelink"
},
{
"name": "Benchling",
"domainName": "benchling.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 895,
"linkedinLinkUrl": "https://linkedin.com/company/benchling"
},
{
"name": "Housecall Pro",
"domainName": "housecallpro.com",
- "address": "Denver",
+ "addressAddressCity": "Denver",
"employees": 894,
"linkedinLinkUrl": "https://linkedin.com/company/housecallpro"
},
{
"name": "Turnitin",
"domainName": "turnitin.com",
- "address": "Oakland",
+ "addressAddressCity": "Oakland",
"employees": 885,
"linkedinLinkUrl": "https://linkedin.com/company/turnitin"
},
{
"name": "Schr\u00f6dinger",
"domainName": "schrodinger.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 885,
"linkedinLinkUrl": "https://linkedin.com/company/schr-dinger"
},
{
"name": "eGain Corporation",
"domainName": "egain.com",
- "address": "Sunnyvale",
+ "addressAddressCity": "Sunnyvale",
"employees": 879,
"linkedinLinkUrl": "https://linkedin.com/company/egain-corporation"
},
{
"name": "Brightly",
"domainName": "brightlysoftware.com",
- "address": "Cary",
+ "addressAddressCity": "Cary",
"employees": 878,
"linkedinLinkUrl": "https://linkedin.com/company/brightlysoftware"
},
{
"name": "Snap-on Business Solutions",
"domainName": "snapon.com",
- "address": "Richfield",
+ "addressAddressCity": "Richfield",
"employees": 876,
"linkedinLinkUrl": "https://linkedin.com/company/snap-on-business-solutions"
},
{
"name": "ACS Technologies",
"domainName": "acstechnologies.com",
- "address": "Florence",
+ "addressAddressCity": "Florence",
"employees": 874,
"linkedinLinkUrl": "https://linkedin.com/company/acs-technologies"
},
{
"name": "Uniphore",
"domainName": "uniphore.com",
- "address": "Palo Alto",
+ "addressAddressCity": "Palo Alto",
"employees": 872,
"linkedinLinkUrl": "https://linkedin.com/company/uniphore"
},
{
"name": "Folio3 Software",
"domainName": "folio3.com",
- "address": "Belmont",
+ "addressAddressCity": "Belmont",
"employees": 872,
"linkedinLinkUrl": "https://linkedin.com/company/folio3"
},
{
"name": "MHC",
"domainName": "mhcautomation.com",
- "address": "Burnsville",
+ "addressAddressCity": "Burnsville",
"employees": 871,
"linkedinLinkUrl": "https://linkedin.com/company/mhcautomation"
},
{
"name": "Xactly Corp",
"domainName": "xactlycorp.com",
- "address": "Los Gatos",
+ "addressAddressCity": "Los Gatos",
"employees": 865,
"linkedinLinkUrl": "https://linkedin.com/company/xactly-corporation"
},
{
"name": "Weave",
"domainName": "getweave.com",
- "address": "Lehi",
+ "addressAddressCity": "Lehi",
"employees": 864,
"linkedinLinkUrl": "https://linkedin.com/company/getweave"
},
{
"name": "Microworkers",
"domainName": "microworkers.com",
- "address": "Frisco",
+ "addressAddressCity": "Frisco",
"employees": 862,
"linkedinLinkUrl": "https://linkedin.com/company/microworkers.com"
},
{
"name": "Trilogy",
"domainName": "trilogy.com",
- "address": "Austin",
+ "addressAddressCity": "Austin",
"employees": 861,
"linkedinLinkUrl": "https://linkedin.com/company/trilogy"
},
{
"name": "Akvelon, Inc.",
"domainName": "akvelon.com",
- "address": "Bellevue",
+ "addressAddressCity": "Bellevue",
"employees": 860,
"linkedinLinkUrl": "https://linkedin.com/company/akvelon"
},
{
"name": "iPipeline",
"domainName": "ipipeline.com",
- "address": "Exton",
+ "addressAddressCity": "Exton",
"employees": 856,
"linkedinLinkUrl": "https://linkedin.com/company/ipipeline"
},
{
"name": "Salary.com",
"domainName": "salary.com",
- "address": "Wellesley Hills",
+ "addressAddressCity": "Wellesley Hills",
"employees": 854,
"linkedinLinkUrl": "https://linkedin.com/company/salarydotcom"
},
{
"name": "PandaDoc",
"domainName": "pandadoc.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 851,
"linkedinLinkUrl": "https://linkedin.com/company/pandadoc"
},
{
"name": "MSC Software",
"domainName": "mscsoftware.com",
- "address": "Newport Beach",
+ "addressAddressCity": "Newport Beach",
"employees": 849,
"linkedinLinkUrl": "https://linkedin.com/company/msc-software"
},
{
"name": "Harness",
"domainName": "harness.io",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 848,
"linkedinLinkUrl": "https://linkedin.com/company/harnessinc"
},
{
"name": "ActiveCampaign",
"domainName": "activecampaign.com",
- "address": "Chicago",
+ "addressAddressCity": "Chicago",
"employees": 848,
"linkedinLinkUrl": "https://linkedin.com/company/activecampaign-inc-"
},
{
"name": "Doximity",
"domainName": "doximity.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 848,
"linkedinLinkUrl": "https://linkedin.com/company/doximity"
},
{
"name": "Couchbase",
"domainName": "couchbase.com",
- "address": "Santa Clara",
+ "addressAddressCity": "Santa Clara",
"employees": 847,
"linkedinLinkUrl": "https://linkedin.com/company/couchbase"
},
{
"name": "Lytx, Inc.",
"domainName": "lytx.com",
- "address": "San Diego",
+ "addressAddressCity": "San Diego",
"employees": 845,
"linkedinLinkUrl": "https://linkedin.com/company/lytxinc"
},
{
"name": "Pendo.io",
"domainName": "pendo.io",
- "address": "Raleigh",
+ "addressAddressCity": "Raleigh",
"employees": 844,
"linkedinLinkUrl": "https://linkedin.com/company/pendo-io"
},
{
"name": "Workato",
"domainName": "workato.com",
- "address": "Mountain View",
+ "addressAddressCity": "Mountain View",
"employees": 842,
"linkedinLinkUrl": "https://linkedin.com/company/workato"
},
{
"name": "Saviynt",
"domainName": "saviynt.com",
- "address": "El Segundo",
+ "addressAddressCity": "El Segundo",
"employees": 842,
"linkedinLinkUrl": "https://linkedin.com/company/saviynt"
},
{
"name": "SmartBear",
"domainName": "smartbear.com",
- "address": "Somerville",
+ "addressAddressCity": "Somerville",
"employees": 838,
"linkedinLinkUrl": "https://linkedin.com/company/smartbear"
},
{
"name": "Rovi Corporation (now TiVo)",
"domainName": "tivo.com",
- "address": "San Carlos",
+ "addressAddressCity": "San Carlos",
"employees": 837,
"linkedinLinkUrl": "https://linkedin.com/company/rovi"
},
{
"name": "Handshake",
"domainName": "joinhandshake.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 833,
"linkedinLinkUrl": "https://linkedin.com/company/team-handshake"
},
{
"name": "Navitaire, an Amadeus company",
"domainName": "navitaire.com",
- "address": "Minneapolis",
+ "addressAddressCity": "Minneapolis",
"employees": 829,
"linkedinLinkUrl": "https://linkedin.com/company/navitaire"
},
{
"name": "OneSpan",
"domainName": "onespan.com",
- "address": "Chicago",
+ "addressAddressCity": "Chicago",
"employees": 826,
"linkedinLinkUrl": "https://linkedin.com/company/onespan"
},
{
"name": "Bitsight",
"domainName": "bitsight.com",
- "address": "Boston",
+ "addressAddressCity": "Boston",
"employees": 824,
"linkedinLinkUrl": "https://linkedin.com/company/bitsight"
},
{
"name": "ID.me",
"domainName": "id.me",
- "address": "Mc Lean",
+ "addressAddressCity": "Mc Lean",
"employees": 823,
"linkedinLinkUrl": "https://linkedin.com/company/id.me"
},
{
"name": "SymphonyAI Retail CPG",
"domainName": "symphonyretailai.com",
- "address": "Frisco",
+ "addressAddressCity": "Frisco",
"employees": 823,
"linkedinLinkUrl": "https://linkedin.com/company/symphonyretailcpg"
},
{
"name": "Unilog",
"domainName": "unilogcorp.com",
- "address": "Wayne",
+ "addressAddressCity": "Wayne",
"employees": 823,
"linkedinLinkUrl": "https://linkedin.com/company/unilog-inc"
},
{
"name": "Teletrac Navman",
"domainName": "teletracnavman.com",
- "address": "Irvine",
+ "addressAddressCity": "Irvine",
"employees": 821,
"linkedinLinkUrl": "https://linkedin.com/company/teletrac"
},
{
"name": "Buildertrend",
"domainName": "buildertrend.com",
- "address": "Omaha",
+ "addressAddressCity": "Omaha",
"employees": 819,
"linkedinLinkUrl": "https://linkedin.com/company/buildertrend"
},
{
"name": "Tecsys Inc.",
"domainName": "tecsys.com",
- "address": "Chicago",
+ "addressAddressCity": "Chicago",
"employees": 816,
"linkedinLinkUrl": "https://linkedin.com/company/tecsys-inc"
},
{
"name": "ThousandEyes (part of Cisco)",
"domainName": "thousandeyes.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 816,
"linkedinLinkUrl": "https://linkedin.com/company/thousandeyes"
},
{
"name": "Greenhouse Software",
"domainName": "greenhouse.io",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 814,
"linkedinLinkUrl": "https://linkedin.com/company/greenhouse-inc-"
},
{
"name": "Exiger",
"domainName": "exiger.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 811,
"linkedinLinkUrl": "https://linkedin.com/company/exiger"
},
{
"name": "MBO Partners",
"domainName": "mbopartners.com",
- "address": "Ashburn",
+ "addressAddressCity": "Ashburn",
"employees": 808,
"linkedinLinkUrl": "https://linkedin.com/company/mbo-partners"
},
{
"name": "Neo4j",
"domainName": "neo4j.com",
- "address": "San Mateo",
+ "addressAddressCity": "San Mateo",
"employees": 808,
"linkedinLinkUrl": "https://linkedin.com/company/neo4j"
},
{
"name": "VTS",
"domainName": "vts.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 805,
"linkedinLinkUrl": "https://linkedin.com/company/we-are-vts"
},
{
"name": "Slice",
"domainName": "slicelife.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 805,
"linkedinLinkUrl": "https://linkedin.com/company/slice"
},
{
"name": "Amplitude",
"domainName": "amplitude.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 803,
"linkedinLinkUrl": "https://linkedin.com/company/amplitude-analytics"
},
{
"name": "Daxko",
"domainName": "daxko.com",
- "address": "Birmingham",
+ "addressAddressCity": "Birmingham",
"employees": 802,
"linkedinLinkUrl": "https://linkedin.com/company/daxko"
},
{
"name": "AppLovin",
"domainName": "applovin.com",
- "address": "Palo Alto",
+ "addressAddressCity": "Palo Alto",
"employees": 802,
"linkedinLinkUrl": "https://linkedin.com/company/applovin"
},
{
"name": "Xometry",
"domainName": "xometry.com",
- "address": "Rockville",
+ "addressAddressCity": "Rockville",
"employees": 801,
"linkedinLinkUrl": "https://linkedin.com/company/xometry"
},
{
"name": "Quickbase",
"domainName": "quickbase.com",
- "address": "Boston",
+ "addressAddressCity": "Boston",
"employees": 796,
"linkedinLinkUrl": "https://linkedin.com/company/quickbase"
},
{
"name": "Agora",
"domainName": "agora.io",
- "address": "Santa Clara",
+ "addressAddressCity": "Santa Clara",
"employees": 793,
"linkedinLinkUrl": "https://linkedin.com/company/agora-lab-inc"
},
{
"name": "InMoment",
"domainName": "inmoment.com",
- "address": "South Jordan",
+ "addressAddressCity": "South Jordan",
"employees": 793,
"linkedinLinkUrl": "https://linkedin.com/company/weareinmoment"
},
{
"name": "PatientPoint\u00ae",
"domainName": "patientpoint.com",
- "address": "Cincinnati",
+ "addressAddressCity": "Cincinnati",
"employees": 789,
"linkedinLinkUrl": "https://linkedin.com/company/patientpoint"
},
{
"name": "HHAeXchange",
"domainName": "hhaexchange.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 788,
"linkedinLinkUrl": "https://linkedin.com/company/hhaexchange"
},
{
"name": "NinjaOne",
"domainName": "ninjaone.com",
- "address": "Austin",
+ "addressAddressCity": "Austin",
"employees": 787,
"linkedinLinkUrl": "https://linkedin.com/company/ninjaone"
},
{
"name": "Zywave",
"domainName": "zywave.com",
- "address": "Milwaukee",
+ "addressAddressCity": "Milwaukee",
"employees": 785,
"linkedinLinkUrl": "https://linkedin.com/company/zywave"
},
{
"name": "Adobe Marketo",
"domainName": "marketo.com",
- "address": "San Jose",
+ "addressAddressCity": "San Jose",
"employees": 784,
"linkedinLinkUrl": "https://linkedin.com/company/adobemarketoengage"
},
{
"name": "MasterControl",
"domainName": "mastercontrol.com",
- "address": "Salt Lake City",
+ "addressAddressCity": "Salt Lake City",
"employees": 783,
"linkedinLinkUrl": "https://linkedin.com/company/mastercontrol"
},
{
"name": "Jumio Corporation",
"domainName": "jumio.com",
- "address": "Sunnyvale",
+ "addressAddressCity": "Sunnyvale",
"employees": 779,
"linkedinLinkUrl": "https://linkedin.com/company/jumio-corporation"
},
{
"name": "CRMNEXT",
"domainName": "crmnext.com",
- "address": "Raleigh",
+ "addressAddressCity": "Raleigh",
"employees": 778,
"linkedinLinkUrl": "https://linkedin.com/company/crmnext"
},
{
"name": "ChannelAdvisor",
"domainName": "channeladvisor.com",
- "address": "Morrisville",
+ "addressAddressCity": "Morrisville",
"employees": 777,
"linkedinLinkUrl": "https://linkedin.com/company/channeladvisor"
},
{
"name": "SumTotal Systems, LLC",
"domainName": "sumtotalsystems.com",
- "address": "Gainesville",
+ "addressAddressCity": "Gainesville",
"employees": 776,
"linkedinLinkUrl": "https://linkedin.com/company/sumtotal-systems"
},
{
"name": "Payscale",
"domainName": "payscale.com",
- "address": "Seattle",
+ "addressAddressCity": "Seattle",
"employees": 775,
"linkedinLinkUrl": "https://linkedin.com/company/payscale"
},
{
"name": "Riskonnect, Inc.",
"domainName": "riskonnect.com",
- "address": "Kennesaw",
+ "addressAddressCity": "Kennesaw",
"employees": 775,
"linkedinLinkUrl": "https://linkedin.com/company/riskonnect-inc"
},
{
"name": "Riskified",
"domainName": "riskified.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 770,
"linkedinLinkUrl": "https://linkedin.com/company/riskified"
},
{
"name": "Shopkeeper",
"domainName": "shopkeeper.com",
- "address": "Pompano Beach",
+ "addressAddressCity": "Pompano Beach",
"employees": 770,
"linkedinLinkUrl": "https://linkedin.com/company/shopkeeperapp"
},
{
"name": "Stack Overflow",
"domainName": "stackoverflow.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 768,
"linkedinLinkUrl": "https://linkedin.com/company/stack-overflow"
},
{
"name": "Netwrix Corporation",
"domainName": "netwrix.com",
- "address": "Frisco",
+ "addressAddressCity": "Frisco",
"employees": 768,
"linkedinLinkUrl": "https://linkedin.com/company/netwrix-corporation"
},
{
"name": "Securonix",
"domainName": "securonix.com",
- "address": "Addison",
+ "addressAddressCity": "Addison",
"employees": 767,
"linkedinLinkUrl": "https://linkedin.com/company/securonix"
},
{
"name": "Draup",
"domainName": "draup.com",
- "address": "Spring",
+ "addressAddressCity": "Spring",
"employees": 766,
"linkedinLinkUrl": "https://linkedin.com/company/draupplatform"
},
{
"name": "eQ Technologic",
"domainName": "1eq.com",
- "address": "Costa Mesa",
+ "addressAddressCity": "Costa Mesa",
"employees": 766,
"linkedinLinkUrl": "https://linkedin.com/company/eq-technologic"
},
{
"name": "Mindtickle",
"domainName": "mindtickle.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 765,
"linkedinLinkUrl": "https://linkedin.com/company/mindtickle"
},
{
"name": "Omnitracs",
"domainName": "omnitracs.com",
- "address": "Roanoke",
+ "addressAddressCity": "Roanoke",
"employees": 764,
"linkedinLinkUrl": "https://linkedin.com/company/omnitracs"
},
{
"name": "Programmer",
"domainName": "gregoryleroy.com",
- "address": "Austin",
+ "addressAddressCity": "Austin",
"employees": 762,
"linkedinLinkUrl": "https://linkedin.com/company/programmer"
},
{
"name": "Navis",
"domainName": "navis.com",
- "address": "Alpharetta",
+ "addressAddressCity": "Alpharetta",
"employees": 761,
"linkedinLinkUrl": "https://linkedin.com/company/navis"
},
{
"name": "AuditBoard",
"domainName": "auditboard.com",
- "address": "Cerritos",
+ "addressAddressCity": "Cerritos",
"employees": 759,
"linkedinLinkUrl": "https://linkedin.com/company/auditboard"
},
{
"name": "Algolia",
"domainName": "algolia.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 759,
"linkedinLinkUrl": "https://linkedin.com/company/algolia"
},
{
"name": "YML",
"domainName": "yml.co",
- "address": "Redwood City",
+ "addressAddressCity": "Redwood City",
"employees": 754,
"linkedinLinkUrl": "https://linkedin.com/company/ymlco"
},
{
"name": "Bolt",
"domainName": "bolt.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 750,
"linkedinLinkUrl": "https://linkedin.com/company/bolt-com"
},
{
"name": "Dandy",
"domainName": "meetdandy.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 745,
"linkedinLinkUrl": "https://linkedin.com/company/dandyofficial"
},
{
"name": "Diverse Lynx",
"domainName": "diverselynx.com",
- "address": "Princeton",
+ "addressAddressCity": "Princeton",
"employees": 743,
"linkedinLinkUrl": "https://linkedin.com/company/diverselynx"
},
{
"name": "JMP",
"domainName": "jmp.com",
- "address": "Cary",
+ "addressAddressCity": "Cary",
"employees": 741,
"linkedinLinkUrl": "https://linkedin.com/company/jmp"
},
{
"name": "ON24",
"domainName": "on24.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 741,
"linkedinLinkUrl": "https://linkedin.com/company/on24"
},
{
"name": "LabVantage Solutions, Inc",
"domainName": "labvantage.com",
- "address": "Somerset",
+ "addressAddressCity": "Somerset",
"employees": 740,
"linkedinLinkUrl": "https://linkedin.com/company/labvantage"
},
{
"name": "Exabeam",
"domainName": "exabeam.com",
- "address": "San Mateo",
+ "addressAddressCity": "San Mateo",
"employees": 739,
"linkedinLinkUrl": "https://linkedin.com/company/exabeam"
},
{
"name": "Iterable",
"domainName": "iterable.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 739,
"linkedinLinkUrl": "https://linkedin.com/company/iterable"
},
{
"name": "Clari",
"domainName": "clari.com",
- "address": "Sunnyvale",
+ "addressAddressCity": "Sunnyvale",
"employees": 737,
"linkedinLinkUrl": "https://linkedin.com/company/clari"
},
{
"name": "Komodo Health",
"domainName": "komodohealth.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 737,
"linkedinLinkUrl": "https://linkedin.com/company/komodo-health"
},
{
"name": "Alation",
"domainName": "alation.com",
- "address": "Redwood City",
+ "addressAddressCity": "Redwood City",
"employees": 736,
"linkedinLinkUrl": "https://linkedin.com/company/alation"
},
{
"name": "Celigo",
"domainName": "celigo.com",
- "address": "Redwood City",
+ "addressAddressCity": "Redwood City",
"employees": 733,
"linkedinLinkUrl": "https://linkedin.com/company/celigo-inc"
},
{
"name": "Aptos Retail",
"domainName": "aptos.com",
- "address": "Alpharetta",
+ "addressAddressCity": "Alpharetta",
"employees": 733,
"linkedinLinkUrl": "https://linkedin.com/company/aptos-retail"
},
{
"name": "WorkForce Software",
"domainName": "workforcesoftware.com",
- "address": "Livonia",
+ "addressAddressCity": "Livonia",
"employees": 721,
"linkedinLinkUrl": "https://linkedin.com/company/workforce-software"
},
{
"name": "HPE Security - Data Security",
"domainName": "voltage.com",
- "address": "Sunnyvale",
+ "addressAddressCity": "Sunnyvale",
"employees": 713,
"linkedinLinkUrl": "https://linkedin.com/company/hpe-security-data-security"
},
{
"name": "DDN Storage",
"domainName": "ddn.com",
- "address": "Chatsworth",
+ "addressAddressCity": "Chatsworth",
"employees": 712,
"linkedinLinkUrl": "https://linkedin.com/company/ddn-storage"
},
{
"name": "KPA",
"domainName": "kpa.io",
- "address": "Broomfield",
+ "addressAddressCity": "Broomfield",
"employees": 709,
"linkedinLinkUrl": "https://linkedin.com/company/kpa-llc"
},
{
"name": "Lohika",
"domainName": "lohika.com",
- "address": "San Mateo",
+ "addressAddressCity": "San Mateo",
"employees": 705,
"linkedinLinkUrl": "https://linkedin.com/company/lohika"
},
{
"name": "Qualifacts",
"domainName": "qualifacts.com",
- "address": "Nashville",
+ "addressAddressCity": "Nashville",
"employees": 705,
"linkedinLinkUrl": "https://linkedin.com/company/qualifacts"
},
{
"name": "Centric Software",
"domainName": "centricsoftware.com",
- "address": "Campbell",
+ "addressAddressCity": "Campbell",
"employees": 705,
"linkedinLinkUrl": "https://linkedin.com/company/centric-software"
},
{
"name": "Omdena",
"domainName": "omdena.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 704,
"linkedinLinkUrl": "https://linkedin.com/company/omdena"
},
{
"name": "AccountantsWorld",
"domainName": "accountantsworld.com",
- "address": "Hauppauge",
+ "addressAddressCity": "Hauppauge",
"employees": 704,
"linkedinLinkUrl": "https://linkedin.com/company/accountantsworld"
},
{
"name": "Aderant",
"domainName": "aderant.com",
- "address": "Atlanta",
+ "addressAddressCity": "Atlanta",
"employees": 704,
"linkedinLinkUrl": "https://linkedin.com/company/aderant"
},
{
"name": "Python Software Foundation",
"domainName": "python.org",
- "address": "Beaverton",
+ "addressAddressCity": "Beaverton",
"employees": 704,
"linkedinLinkUrl": "https://linkedin.com/company/python-software-foundation"
},
{
"name": "OpenGov Inc.",
"domainName": "opengov.com",
- "address": "San Jose",
+ "addressAddressCity": "San Jose",
"employees": 703,
"linkedinLinkUrl": "https://linkedin.com/company/opengov-inc"
},
{
"name": "Denodo",
"domainName": "denodo.com",
- "address": "Palo Alto",
+ "addressAddressCity": "Palo Alto",
"employees": 702,
"linkedinLinkUrl": "https://linkedin.com/company/denodo-technologies"
},
{
"name": "NEOGOV",
"domainName": "neogov.com",
- "address": "El Segundo",
+ "addressAddressCity": "El Segundo",
"employees": 698,
"linkedinLinkUrl": "https://linkedin.com/company/neogov"
},
{
"name": "VertexOne",
"domainName": "vertexone.net",
- "address": "Dallas",
+ "addressAddressCity": "Dallas",
"employees": 696,
"linkedinLinkUrl": "https://linkedin.com/company/vertex-one"
},
{
"name": "The Linux Foundation",
"domainName": "linuxfoundation.org",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 694,
"linkedinLinkUrl": "https://linkedin.com/company/the-linux-foundation"
},
{
"name": "Reputation",
"domainName": "reputation.com",
- "address": "San Ramon",
+ "addressAddressCity": "San Ramon",
"employees": 694,
"linkedinLinkUrl": "https://linkedin.com/company/reputation-com"
},
{
"name": "Relevantz ",
"domainName": "relevantz.com",
- "address": "Alpharetta",
+ "addressAddressCity": "Alpharetta",
"employees": 691,
"linkedinLinkUrl": "https://linkedin.com/company/relevantz"
},
{
"name": "M-Files",
"domainName": "m-files.com",
- "address": "Austin",
+ "addressAddressCity": "Austin",
"employees": 691,
"linkedinLinkUrl": "https://linkedin.com/company/m-files-corporation"
},
{
"name": "Homebase",
"domainName": "joinhomebase.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 688,
"linkedinLinkUrl": "https://linkedin.com/company/homebase-app"
},
{
"name": "Calypso Technology",
"domainName": "calypso.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 688,
"linkedinLinkUrl": "https://linkedin.com/company/calypso-technology"
},
{
"name": "Viewpoint",
"domainName": "viewpoint.com",
- "address": "Broomfield",
+ "addressAddressCity": "Broomfield",
"employees": 686,
"linkedinLinkUrl": "https://linkedin.com/company/viewpoint-construction-software"
},
{
"name": "Devo",
"domainName": "devo.com",
- "address": "Cambridge",
+ "addressAddressCity": "Cambridge",
"employees": 685,
"linkedinLinkUrl": "https://linkedin.com/company/devoinc"
},
{
"name": "WebPT",
"domainName": "webpt.com",
- "address": "Phoenix",
+ "addressAddressCity": "Phoenix",
"employees": 685,
"linkedinLinkUrl": "https://linkedin.com/company/webpt"
},
{
"name": "MatrixCare",
"domainName": "matrixcare.com",
- "address": "Minneapolis",
+ "addressAddressCity": "Minneapolis",
"employees": 683,
"linkedinLinkUrl": "https://linkedin.com/company/matrixcare"
},
{
"name": "Sisense",
"domainName": "sisense.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 683,
"linkedinLinkUrl": "https://linkedin.com/company/sisense"
},
{
"name": "Calendly",
"domainName": "calendly.com",
- "address": "Atlanta",
+ "addressAddressCity": "Atlanta",
"employees": 681,
"linkedinLinkUrl": "https://linkedin.com/company/calendly"
},
{
"name": "Placer.ai",
"domainName": "placer.io",
- "address": "Los Altos",
+ "addressAddressCity": "Los Altos",
"employees": 677,
"linkedinLinkUrl": "https://linkedin.com/company/placer"
},
{
"name": "MResult",
"domainName": "mresult.com",
- "address": "Mystic",
+ "addressAddressCity": "Mystic",
"employees": 674,
"linkedinLinkUrl": "https://linkedin.com/company/mresult"
},
{
"name": "Coherent Solutions",
"domainName": "coherentsolutions.com",
- "address": "Minneapolis",
+ "addressAddressCity": "Minneapolis",
"employees": 672,
"linkedinLinkUrl": "https://linkedin.com/company/coherent-solutions"
},
{
"name": "Mirantis",
"domainName": "mirantis.com",
- "address": "Campbell",
+ "addressAddressCity": "Campbell",
"employees": 671,
"linkedinLinkUrl": "https://linkedin.com/company/mirantis"
},
{
"name": "Simplify Healthcare",
"domainName": "simplifyhealthcare.com",
- "address": "Aurora",
+ "addressAddressCity": "Aurora",
"employees": 671,
"linkedinLinkUrl": "https://linkedin.com/company/simplifyhealthcare"
},
{
"name": "JumpCloud",
"domainName": "jumpcloud.com",
- "address": "Louisville",
+ "addressAddressCity": "Louisville",
"employees": 671,
"linkedinLinkUrl": "https://linkedin.com/company/jumpcloud"
},
{
"name": "ASAP",
"domainName": "asap.com",
- "address": "Lafayette",
+ "addressAddressCity": "Lafayette",
"employees": 667,
"linkedinLinkUrl": "https://linkedin.com/company/asap"
},
{
"name": "Xoxoday",
"domainName": "xoxoday.com",
- "address": "Redwood City",
+ "addressAddressCity": "Redwood City",
"employees": 666,
"linkedinLinkUrl": "https://linkedin.com/company/xoxoday"
},
{
"name": "DataStax",
"domainName": "datastax.com",
- "address": "Santa Clara",
+ "addressAddressCity": "Santa Clara",
"employees": 666,
"linkedinLinkUrl": "https://linkedin.com/company/datastax"
},
{
"name": "Foursquare",
"domainName": "foursquare.com",
- "address": "New York",
+ "addressAddressCity": "New York",
"employees": 665,
"linkedinLinkUrl": "https://linkedin.com/company/foursquare"
},
{
"name": "LastPass",
"domainName": "lastpass.com",
- "address": "Boston",
+ "addressAddressCity": "Boston",
"employees": 664,
"linkedinLinkUrl": "https://linkedin.com/company/lastpass"
},
{
"name": "SOCi, Inc.",
"domainName": "meetsoci.com",
- "address": "San Diego",
+ "addressAddressCity": "San Diego",
"employees": 664,
"linkedinLinkUrl": "https://linkedin.com/company/soci-inc-"
},
{
"name": "Stratus Technologies",
"domainName": "stratus.com",
- "address": "Maynard",
+ "addressAddressCity": "Maynard",
"employees": 662,
"linkedinLinkUrl": "https://linkedin.com/company/stratus-technologies"
},
{
"name": "AdvancedMD",
"domainName": "advancedmd.com",
- "address": "South Jordan",
+ "addressAddressCity": "South Jordan",
"employees": 661,
"linkedinLinkUrl": "https://linkedin.com/company/advancedmd"
},
{
"name": "Matterport",
"domainName": "matterport.com",
- "address": "Sunnyvale",
+ "addressAddressCity": "Sunnyvale",
"employees": 660,
"linkedinLinkUrl": "https://linkedin.com/company/matterport"
},
{
"name": "Samsung Research America (SRA)",
"domainName": "sra.samsung.com",
- "address": "Mountain View",
+ "addressAddressCity": "Mountain View",
"employees": 658,
"linkedinLinkUrl": "https://linkedin.com/company/sra-samsungreasearchamerica"
},
{
"name": "Creatio",
"domainName": "creatio.com",
- "address": "Boston",
+ "addressAddressCity": "Boston",
"employees": 657,
"linkedinLinkUrl": "https://linkedin.com/company/creatioglobal"
},
{
"name": "Branch",
"domainName": "branch.io",
- "address": "Palo Alto",
+ "addressAddressCity": "Palo Alto",
"employees": 657,
"linkedinLinkUrl": "https://linkedin.com/company/branch-metrics"
},
{
"name": "Versa Networks",
"domainName": "versa-networks.com",
- "address": "Alviso",
+ "addressAddressCity": "Alviso",
"employees": 655,
"linkedinLinkUrl": "https://linkedin.com/company/versa-networks"
},
{
"name": "Mitek Systems",
"domainName": "miteksystems.com",
- "address": "San Diego",
+ "addressAddressCity": "San Diego",
"employees": 653,
"linkedinLinkUrl": "https://linkedin.com/company/miteksystems"
},
{
"name": "PDF Solutions",
"domainName": "pdf.com",
- "address": "Santa Clara",
+ "addressAddressCity": "Santa Clara",
"employees": 653,
"linkedinLinkUrl": "https://linkedin.com/company/pdf-solutions"
},
{
"name": "ESO",
"domainName": "eso.com",
- "address": "Austin",
+ "addressAddressCity": "Austin",
"employees": 652,
"linkedinLinkUrl": "https://linkedin.com/company/eso-solutions"
},
{
"name": "Mural",
"domainName": "mural.co",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 650,
"linkedinLinkUrl": "https://linkedin.com/company/mural.co"
},
{
"name": "FourKites, Inc.",
"domainName": "fourkites.com",
- "address": "Chicago",
+ "addressAddressCity": "Chicago",
"employees": 650,
"linkedinLinkUrl": "https://linkedin.com/company/fourkites-inc"
},
{
"name": "Aras Corporation",
"domainName": "aras.com",
- "address": "Andover",
+ "addressAddressCity": "Andover",
"employees": 648,
"linkedinLinkUrl": "https://linkedin.com/company/aras-corporation"
},
{
"name": "Delphix",
"domainName": "delphix.com",
- "address": "Redwood City",
+ "addressAddressCity": "Redwood City",
"employees": 648,
"linkedinLinkUrl": "https://linkedin.com/company/delphix"
},
{
"name": "Wolfram",
"domainName": "wolfram.com",
- "address": "Champaign",
+ "addressAddressCity": "Champaign",
"employees": 644,
"linkedinLinkUrl": "https://linkedin.com/company/wolfram-research"
},
{
"name": "Eightfold",
"domainName": "eightfold.ai",
- "address": "Santa Clara",
+ "addressAddressCity": "Santa Clara",
"employees": 643,
"linkedinLinkUrl": "https://linkedin.com/company/eightfoldai"
},
{
"name": "Quark Software Inc.",
"domainName": "quark.com",
- "address": "Grand Rapids",
+ "addressAddressCity": "Grand Rapids",
"employees": 641,
"linkedinLinkUrl": "https://linkedin.com/company/quark"
},
{
"name": "connectRN",
"domainName": "connectrn.com",
- "address": "Waltham",
+ "addressAddressCity": "Waltham",
"employees": 640,
"linkedinLinkUrl": "https://linkedin.com/company/connectrn"
},
{
"name": "RSI",
"domainName": "rsidelivers.com",
- "address": "Pembroke",
+ "addressAddressCity": "Pembroke",
"employees": 638,
"linkedinLinkUrl": "https://linkedin.com/company/revenue-solutions-inc-"
},
{
"name": "Macrosoft",
"domainName": "macrosoftinc.com",
- "address": "Parsippany",
+ "addressAddressCity": "Parsippany",
"employees": 638,
"linkedinLinkUrl": "https://linkedin.com/company/macrosoft"
},
{
"name": "Paradox",
"domainName": "paradox.ai",
- "address": "Scottsdale",
+ "addressAddressCity": "Scottsdale",
"employees": 637,
"linkedinLinkUrl": "https://linkedin.com/company/paradoxolivia"
},
{
"name": "SmartRecruiters",
"domainName": "smartrecruiters.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 637,
"linkedinLinkUrl": "https://linkedin.com/company/smartrecruiters"
},
{
"name": "Tealium",
"domainName": "tealium.com",
- "address": "San Diego",
+ "addressAddressCity": "San Diego",
"employees": 635,
"linkedinLinkUrl": "https://linkedin.com/company/tealium"
},
{
"name": "Securiti",
"domainName": "securiti.ai",
- "address": "San Jose",
+ "addressAddressCity": "San Jose",
"employees": 634,
"linkedinLinkUrl": "https://linkedin.com/company/securitiai"
},
{
"name": "Lattice",
"domainName": "lattice.com",
- "address": "San Francisco",
+ "addressAddressCity": "San Francisco",
"employees": 634,
"linkedinLinkUrl": "https://linkedin.com/company/lattice-hq"
},
{
"name": "TuSimple",
"domainName": "tusimple.com",
- "address": "San Diego",
+ "addressAddressCity": "San Diego",
"employees": 633,
"linkedinLinkUrl": "https://linkedin.com/company/tusimple"
},
{
"name": "Ceipal",
"domainName": "ceipal.com",
- "address": "Rochester",
+ "addressAddressCity": "Rochester",
"employees": 633,
"linkedinLinkUrl": "https://linkedin.com/company/ceipal"
},
{
"name": "RSD",
"domainName": "rocketsoftware.com",
- "address": "Waltham",
+ "addressAddressCity": "Waltham",
"employees": 633,
"linkedinLinkUrl": "https://linkedin.com/company/rsd"
}
diff --git a/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/company.ts b/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/company.ts
index f1df5a2dd..1b5187267 100644
--- a/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/company.ts
+++ b/packages/twenty-server/src/engine/workspace-manager/demo-objects-prefill-data/company.ts
@@ -12,7 +12,7 @@ export const companyPrefillDemoData = async (
.into(`${schemaName}.company`, [
'name',
'domainName',
- 'address',
+ 'addressAddressCity',
'employees',
'linkedinLinkUrl',
'position',
diff --git a/packages/twenty-server/src/modules/company/standard-objects/company.object-metadata.ts b/packages/twenty-server/src/modules/company/standard-objects/company.object-metadata.ts
index af5db2ed7..4daecb4f2 100644
--- a/packages/twenty-server/src/modules/company/standard-objects/company.object-metadata.ts
+++ b/packages/twenty-server/src/modules/company/standard-objects/company.object-metadata.ts
@@ -51,7 +51,7 @@ export class CompanyObjectMetadata extends BaseObjectMetadata {
@FieldMetadata({
standardId: companyStandardFieldIds.address,
- type: FieldMetadataType.TEXT,
+ type: FieldMetadataType.ADDRESS,
label: 'Address',
description: 'The company address',
icon: 'IconMap',
diff --git a/packages/twenty-zapier/src/utils/computeInputFields.ts b/packages/twenty-zapier/src/utils/computeInputFields.ts
index ca80a8fb5..dc60091c1 100644
--- a/packages/twenty-zapier/src/utils/computeInputFields.ts
+++ b/packages/twenty-zapier/src/utils/computeInputFields.ts
@@ -89,6 +89,57 @@ const get_subfieldsFromField = (nodeField: NodeField): NodeField[] => {
};
return [amountMicros, currencyCode];
}
+ case FieldMetadataType.ADDRESS: {
+ const address1: NodeField = {
+ type: 'TEXT',
+ name: 'addressStreet1',
+ label: 'Address',
+ description: 'Address',
+ isNullable: true,
+ defaultValue: null,
+ };
+ const address2: NodeField = {
+ type: 'TEXT',
+ name: 'addressStreet2',
+ label: 'Address 2',
+ description: 'Address 2',
+ isNullable: true,
+ defaultValue: null,
+ };
+ const city: NodeField = {
+ type: 'TEXT',
+ name: 'addressCity',
+ label: 'City',
+ description: 'City',
+ isNullable: true,
+ defaultValue: null,
+ };
+ const state: NodeField = {
+ type: 'TEXT',
+ name: 'addressState',
+ label: 'State',
+ description: 'State',
+ isNullable: true,
+ defaultValue: null,
+ };
+ const postalCode: NodeField = {
+ type: 'TEXT',
+ name: 'addressPostalCode',
+ label: 'Postal Code',
+ description: 'Postal Code',
+ isNullable: true,
+ defaultValue: null,
+ };
+ const country: NodeField = {
+ type: 'TEXT',
+ name: 'addressCountry',
+ label: 'Country',
+ description: 'Country',
+ isNullable: true,
+ defaultValue: null,
+ };
+ return [address1, address2, city, state, postalCode, country];
+ }
default:
throw new Error(`Unknown nodeField type: ${nodeField.type}`);
}
@@ -109,6 +160,7 @@ export const computeInputFields = (
case FieldMetadataType.FULL_NAME:
case FieldMetadataType.LINK:
case FieldMetadataType.CURRENCY:
+ case FieldMetadataType.ADDRESS:
for (const subNodeField of get_subfieldsFromField(nodeField)) {
const field = {
key: `${nodeField.name}__${subNodeField.name}`,
diff --git a/packages/twenty-zapier/src/utils/data.types.ts b/packages/twenty-zapier/src/utils/data.types.ts
index 540860c89..0d9a8056d 100644
--- a/packages/twenty-zapier/src/utils/data.types.ts
+++ b/packages/twenty-zapier/src/utils/data.types.ts
@@ -47,6 +47,7 @@ export enum FieldMetadataType {
SELECT = 'SELECT',
MULTI_SELECT = 'MULTI_SELECT',
RELATION = 'RELATION',
+ ADDRESS = 'ADDRESS',
}
export type Schema = {