[
  {
    "apiName": "Account",
    "keyPrefix": "001",
    "label": "Account",
    "tableType": "standard_object",
    "category": "crm",
    "sharingModel": "Private",
    "enableHierarchySharing": true,
    "description": "Standard Salesforce Account object",
    "fields": [
      {
        "apiName": "Name",
        "label": "Account Name",
        "type": "string",
        "required": true,
        "isNameField": true
      },
      {
        "apiName": "Type",
        "label": "Account Type",
        "type": "string"
      },
      {
        "apiName": "ParentId",
        "label": "Parent Account",
        "type": "reference",
        "referenceTo": [
          "Account"
        ],
        "relationshipName": "Parent",
        "childRelationshipName": "ChildAccounts"
      },
      {
        "apiName": "Phone",
        "label": "Phone",
        "type": "phone"
      },
      {
        "apiName": "Fax",
        "label": "Fax",
        "type": "phone"
      },
      {
        "apiName": "Website",
        "label": "Website",
        "type": "url"
      },
      {
        "apiName": "Industry",
        "label": "Industry",
        "type": "string"
      },
      {
        "apiName": "AnnualRevenue",
        "label": "Annual Revenue",
        "type": "currency"
      },
      {
        "apiName": "NumberOfEmployees",
        "label": "Number of Employees",
        "type": "double"
      },
      {
        "apiName": "Description",
        "label": "Description",
        "type": "textarea"
      },
      {
        "apiName": "Rating",
        "label": "Rating",
        "type": "string"
      },
      {
        "apiName": "AccountSource",
        "label": "Account Source",
        "type": "picklist",
        "options": [
          {
            "value": "Advertisement",
            "label": "Advertisement"
          },
          {
            "value": "Customer Event",
            "label": "Customer Event"
          },
          {
            "value": "Employee Referral",
            "label": "Employee Referral"
          },
          {
            "value": "External Referral",
            "label": "External Referral"
          },
          {
            "value": "Partner",
            "label": "Partner"
          },
          {
            "value": "Public Relations",
            "label": "Public Relations"
          },
          {
            "value": "Seminar - Internal",
            "label": "Seminar - Internal"
          },
          {
            "value": "Seminar - Partner",
            "label": "Seminar - Partner"
          },
          {
            "value": "Trade Show",
            "label": "Trade Show"
          },
          {
            "value": "Web",
            "label": "Web"
          },
          {
            "value": "Word of mouth",
            "label": "Word of mouth"
          },
          {
            "value": "Other",
            "label": "Other"
          }
        ]
      },
      {
        "apiName": "BillingStreet",
        "label": "Billing Street",
        "type": "textarea"
      },
      {
        "apiName": "BillingCity",
        "label": "Billing City",
        "type": "string"
      },
      {
        "apiName": "BillingState",
        "label": "Billing State",
        "type": "string"
      },
      {
        "apiName": "BillingPostalCode",
        "label": "Billing Postal Code",
        "type": "string"
      },
      {
        "apiName": "BillingCountry",
        "label": "Billing Country",
        "type": "string"
      },
      {
        "apiName": "BillingCountryCode",
        "label": "Billing Country Code",
        "type": "string"
      },
      {
        "apiName": "ShippingStreet",
        "label": "Shipping Street",
        "type": "textarea"
      },
      {
        "apiName": "ShippingCity",
        "label": "Shipping City",
        "type": "string"
      },
      {
        "apiName": "ShippingState",
        "label": "Shipping State",
        "type": "string"
      },
      {
        "apiName": "ShippingPostalCode",
        "label": "Shipping Postal Code",
        "type": "string"
      },
      {
        "apiName": "ShippingCountry",
        "label": "Shipping Country",
        "type": "string"
      },
      {
        "apiName": "ShippingCountryCode",
        "label": "Shipping Country Code",
        "type": "string"
      },
      {
        "apiName": "AccountNumber",
        "label": "Account Number",
        "type": "string"
      },
      {
        "apiName": "Sic",
        "label": "SIC Code",
        "type": "string"
      },
      {
        "apiName": "TickerSymbol",
        "label": "Ticker Symbol",
        "type": "string"
      },
      {
        "apiName": "Site",
        "label": "Account Site",
        "type": "string"
      },
      {
        "apiName": "DunsNumber",
        "label": "D-U-N-S Number",
        "type": "string"
      },
      {
        "apiName": "Tradestyle",
        "label": "Tradestyle",
        "type": "string"
      },
      {
        "apiName": "NaicsDesc",
        "label": "NAICS Description",
        "type": "string"
      },
      {
        "apiName": "YearStarted",
        "label": "Year Started",
        "type": "string"
      },
      {
        "apiName": "SicDesc",
        "label": "SIC Description",
        "type": "string"
      },
      {
        "apiName": "LastActivityDate",
        "label": "Last Activity",
        "type": "date",
        "createable": false,
        "updateable": false
      },
      {
        "apiName": "RecordTypeId",
        "label": "Record Type",
        "type": "reference",
        "referenceTo": [
          "RecordType"
        ],
        "relationshipName": "RecordType"
      }
    ]
  },
  {
    "apiName": "Contact",
    "keyPrefix": "003",
    "label": "Contact",
    "tableType": "standard_object",
    "category": "crm",
    "sharingModel": "ControlledByParent",
    "enableHierarchySharing": true,
    "description": "Standard Salesforce Contact object",
    "fields": [
      {
        "apiName": "Salutation",
        "label": "Salutation",
        "type": "string",
        "compoundFieldName": "Name"
      },
      {
        "apiName": "FirstName",
        "label": "First Name",
        "type": "string",
        "compoundFieldName": "Name"
      },
      {
        "apiName": "LastName",
        "label": "Last Name",
        "type": "string",
        "required": true,
        "isNameField": true,
        "compoundFieldName": "Name"
      },
      {
        "apiName": "Title",
        "label": "Title",
        "type": "string"
      },
      {
        "apiName": "Department",
        "label": "Department",
        "type": "string"
      },
      {
        "apiName": "AccountId",
        "label": "Account",
        "type": "reference",
        "referenceTo": [
          "Account"
        ],
        "relationshipName": "Account",
        "childRelationshipName": "Contacts"
      },
      {
        "apiName": "Phone",
        "label": "Phone",
        "type": "phone"
      },
      {
        "apiName": "MobilePhone",
        "label": "Mobile Phone",
        "type": "phone"
      },
      {
        "apiName": "Fax",
        "label": "Business Fax",
        "type": "phone"
      },
      {
        "apiName": "HomePhone",
        "label": "Home Phone",
        "type": "phone"
      },
      {
        "apiName": "OtherPhone",
        "label": "Other Phone",
        "type": "phone"
      },
      {
        "apiName": "Email",
        "label": "Email",
        "type": "email"
      },
      {
        "apiName": "HasOptedOutOfEmail",
        "label": "Email Opt Out",
        "type": "boolean",
        "default": "0"
      },
      {
        "apiName": "DoNotCall",
        "label": "Do Not Call",
        "type": "boolean"
      },
      {
        "apiName": "EmailBouncedDate",
        "label": "Email Bounced Date",
        "type": "datetime"
      },
      {
        "apiName": "EmailBouncedReason",
        "label": "Email Bounced Reason",
        "type": "string"
      },
      {
        "apiName": "LastActivityDate",
        "label": "Last Activity",
        "type": "date",
        "createable": false,
        "updateable": false
      },
      {
        "apiName": "LeadSource",
        "label": "Lead Source",
        "type": "picklist",
        "options": [
          {
            "value": "Advertisement",
            "label": "Advertisement"
          },
          {
            "value": "Customer Event",
            "label": "Customer Event"
          },
          {
            "value": "Employee Referral",
            "label": "Employee Referral"
          },
          {
            "value": "External Referral",
            "label": "External Referral"
          },
          {
            "value": "Partner",
            "label": "Partner"
          },
          {
            "value": "Public Relations",
            "label": "Public Relations"
          },
          {
            "value": "Seminar - Internal",
            "label": "Seminar - Internal"
          },
          {
            "value": "Seminar - Partner",
            "label": "Seminar - Partner"
          },
          {
            "value": "Trade Show",
            "label": "Trade Show"
          },
          {
            "value": "Web",
            "label": "Web"
          },
          {
            "value": "Word of mouth",
            "label": "Word of mouth"
          },
          {
            "value": "Other",
            "label": "Other"
          }
        ]
      },
      {
        "apiName": "Jigsaw",
        "label": "Data.com Key",
        "type": "string"
      },
      {
        "apiName": "JigsawContactId",
        "label": "Jigsaw Contact ID",
        "type": "string"
      },
      {
        "apiName": "AssistantName",
        "label": "Assistant Name",
        "type": "string"
      },
      {
        "apiName": "AssistantPhone",
        "label": "Assistant Phone",
        "type": "phone"
      },
      {
        "apiName": "Birthdate",
        "label": "Birthdate",
        "type": "date"
      },
      {
        "apiName": "Description",
        "label": "Description",
        "type": "textarea"
      },
      {
        "apiName": "MailingStreet",
        "label": "Mailing Street",
        "type": "textarea"
      },
      {
        "apiName": "MailingCity",
        "label": "Mailing City",
        "type": "string"
      },
      {
        "apiName": "MailingState",
        "label": "Mailing State",
        "type": "string"
      },
      {
        "apiName": "MailingPostalCode",
        "label": "Mailing Postal Code",
        "type": "string"
      },
      {
        "apiName": "MailingCountry",
        "label": "Mailing Country",
        "type": "string"
      },
      {
        "apiName": "MailingStateCode",
        "label": "Mailing State/Province Code",
        "type": "string"
      },
      {
        "apiName": "MailingCountryCode",
        "label": "Mailing Country Code",
        "type": "string"
      },
      {
        "apiName": "MailingLatitude",
        "label": "Mailing Latitude",
        "type": "double"
      },
      {
        "apiName": "MailingLongitude",
        "label": "Mailing Longitude",
        "type": "double"
      },
      {
        "apiName": "MailingGeocodeAccuracy",
        "label": "Mailing Geocode Accuracy",
        "type": "string"
      }
    ],
    "managedRelationships": [
      {
        "fieldApiName": "AccountId",
        "parentObject": "Account",
        "isSharingParent": true,
        "cascadeDelete": false
      }
    ]
  },
  {
    "apiName": "Lead",
    "keyPrefix": "00Q",
    "label": "Lead",
    "tableType": "standard_object",
    "category": "crm",
    "sharingModel": "Private",
    "enableHierarchySharing": true,
    "description": "Standard Salesforce Lead object",
    "fields": [
      {
        "apiName": "Salutation",
        "label": "Salutation",
        "type": "string",
        "compoundFieldName": "Name"
      },
      {
        "apiName": "FirstName",
        "label": "First Name",
        "type": "string",
        "compoundFieldName": "Name"
      },
      {
        "apiName": "LastName",
        "label": "Last Name",
        "type": "string",
        "required": true,
        "isNameField": true,
        "compoundFieldName": "Name"
      },
      {
        "apiName": "Company",
        "label": "Company",
        "type": "string",
        "required": true
      },
      {
        "apiName": "Title",
        "label": "Title",
        "type": "string"
      },
      {
        "apiName": "LeadSource",
        "label": "Lead Source",
        "type": "picklist",
        "options": [
          {
            "value": "Advertisement",
            "label": "Advertisement"
          },
          {
            "value": "Customer Event",
            "label": "Customer Event"
          },
          {
            "value": "Employee Referral",
            "label": "Employee Referral"
          },
          {
            "value": "External Referral",
            "label": "External Referral"
          },
          {
            "value": "Partner",
            "label": "Partner"
          },
          {
            "value": "Public Relations",
            "label": "Public Relations"
          },
          {
            "value": "Seminar - Internal",
            "label": "Seminar - Internal"
          },
          {
            "value": "Seminar - Partner",
            "label": "Seminar - Partner"
          },
          {
            "value": "Trade Show",
            "label": "Trade Show"
          },
          {
            "value": "Web",
            "label": "Web"
          },
          {
            "value": "Word of mouth",
            "label": "Word of mouth"
          },
          {
            "value": "Other",
            "label": "Other"
          }
        ]
      },
      {
        "apiName": "Status",
        "label": "Status",
        "type": "picklist",
        "required": true,
        "default": "Open - Not Contacted",
        "options": [
          {
            "value": "Open - Not Contacted",
            "label": "Open - Not Contacted"
          },
          {
            "value": "Working - Contacted",
            "label": "Working - Contacted"
          },
          {
            "value": "Qualified",
            "label": "Qualified"
          },
          {
            "value": "Nurture",
            "label": "Nurture"
          },
          {
            "value": "Converted",
            "label": "Converted",
            "tags": [
              "converted"
            ]
          },
          {
            "value": "Closed - Converted",
            "label": "Closed - Converted",
            "tags": [
              "converted"
            ]
          },
          {
            "value": "Closed - Not Converted",
            "label": "Closed - Not Converted"
          }
        ]
      },
      {
        "apiName": "Phone",
        "label": "Phone",
        "type": "phone"
      },
      {
        "apiName": "MobilePhone",
        "label": "Mobile Phone",
        "type": "phone"
      },
      {
        "apiName": "Email",
        "label": "Email",
        "type": "email"
      },
      {
        "apiName": "Fax",
        "label": "Fax",
        "type": "phone"
      },
      {
        "apiName": "HasOptedOutOfEmail",
        "label": "Email Opt Out",
        "type": "boolean",
        "default": "0"
      },
      {
        "apiName": "DoNotCall",
        "label": "Do Not Call",
        "type": "boolean"
      },
      {
        "apiName": "EmailBouncedDate",
        "label": "Email Bounced Date",
        "type": "datetime"
      },
      {
        "apiName": "EmailBouncedReason",
        "label": "Email Bounced Reason",
        "type": "string"
      },
      {
        "apiName": "CompanyDunsNumber",
        "label": "Company D-U-N-S Number",
        "type": "string"
      },
      {
        "apiName": "Website",
        "label": "Website",
        "type": "url"
      },
      {
        "apiName": "Industry",
        "label": "Industry",
        "type": "string"
      },
      {
        "apiName": "Street",
        "label": "Street",
        "type": "textarea"
      },
      {
        "apiName": "City",
        "label": "City",
        "type": "string"
      },
      {
        "apiName": "State",
        "label": "State",
        "type": "string"
      },
      {
        "apiName": "PostalCode",
        "label": "Postal Code",
        "type": "string"
      },
      {
        "apiName": "Country",
        "label": "Country",
        "type": "string"
      },
      {
        "apiName": "StateCode",
        "label": "State/Province Code",
        "type": "string"
      },
      {
        "apiName": "CountryCode",
        "label": "Country Code",
        "type": "string"
      },
      {
        "apiName": "Latitude",
        "label": "Latitude",
        "type": "double"
      },
      {
        "apiName": "Longitude",
        "label": "Longitude",
        "type": "double"
      },
      {
        "apiName": "GeocodeAccuracy",
        "label": "Geocode Accuracy",
        "type": "string"
      },
      {
        "apiName": "AnnualRevenue",
        "label": "Annual Revenue",
        "type": "currency"
      },
      {
        "apiName": "NumberOfEmployees",
        "label": "Number of Employees",
        "type": "double"
      },
      {
        "apiName": "Rating",
        "label": "Rating",
        "type": "string"
      },
      {
        "apiName": "Description",
        "label": "Description",
        "type": "textarea"
      },
      {
        "apiName": "Jigsaw",
        "label": "Data.com Key",
        "type": "string"
      },
      {
        "apiName": "JigsawContactId",
        "label": "Jigsaw Contact ID",
        "type": "string"
      },
      {
        "apiName": "IsConverted",
        "label": "Converted",
        "type": "boolean"
      },
      {
        "apiName": "ConvertedDate",
        "label": "Converted Date",
        "type": "date"
      },
      {
        "apiName": "ConvertedAccountId",
        "label": "Converted Account ID",
        "type": "reference",
        "referenceTo": [
          "Account"
        ],
        "relationshipName": "ConvertedAccount"
      },
      {
        "apiName": "ConvertedContactId",
        "label": "Converted Contact ID",
        "type": "reference",
        "referenceTo": [
          "Contact"
        ],
        "relationshipName": "ConvertedContact"
      },
      {
        "apiName": "ConvertedOpportunityId",
        "label": "Converted Opportunity ID",
        "type": "reference",
        "referenceTo": [
          "Opportunity"
        ],
        "relationshipName": "ConvertedOpportunity"
      }
    ]
  },
  {
    "apiName": "Opportunity",
    "keyPrefix": "006",
    "label": "Opportunity",
    "tableType": "standard_object",
    "category": "crm",
    "sharingModel": "Private",
    "enableHierarchySharing": true,
    "description": "Standard Salesforce Opportunity object",
    "pathField": "StageName",
    "fields": [
      {
        "apiName": "Name",
        "label": "Opportunity Name",
        "type": "string",
        "required": true,
        "isNameField": true
      },
      {
        "apiName": "AccountId",
        "label": "Account",
        "type": "reference",
        "referenceTo": [
          "Account"
        ],
        "relationshipName": "Account",
        "childRelationshipName": "Opportunities"
      },
      {
        "apiName": "Pricebook2Id",
        "label": "Price Book",
        "type": "reference",
        "referenceTo": [
          "Pricebook2"
        ],
        "relationshipName": "Pricebook2",
        "childRelationshipName": "Opportunities"
      },
      {
        "apiName": "CurrencyIsoCode",
        "label": "Currency",
        "type": "picklist",
        "default": "USD",
        "options": [
          {
            "value": "USD",
            "label": "USD"
          }
        ]
      },
      {
        "apiName": "StageName",
        "label": "Stage",
        "type": "picklist",
        "required": true,
        "default": "Prospecting",
        "options": [
          {
            "value": "Prospecting",
            "label": "Prospecting"
          },
          {
            "value": "Discovery & Qualification",
            "label": "Discovery & Qualification"
          },
          {
            "value": "Technical Validation",
            "label": "Technical Validation"
          },
          {
            "value": "Business Validation",
            "label": "Business Validation"
          },
          {
            "value": "Negotiation",
            "label": "Negotiation"
          },
          {
            "value": "Deal Closed",
            "label": "Deal Closed"
          },
          {
            "value": "Launched",
            "label": "Launched"
          },
          {
            "value": "Closed Lost",
            "label": "Closed Lost"
          }
        ]
      },
      {
        "apiName": "Amount",
        "label": "Amount",
        "type": "currency",
        "rollupConfig": {
          "summaryObject": "OpportunityLineItem",
          "summaryField": "TotalPrice",
          "relationshipField": "OpportunityId",
          "calcType": "SUM"
        }
      },
      {
        "apiName": "CloseDate",
        "label": "Close Date",
        "type": "date",
        "required": true
      },
      {
        "apiName": "Probability",
        "label": "Probability",
        "type": "percent"
      },
      {
        "apiName": "ForecastCategory",
        "label": "Forecast Category",
        "type": "picklist",
        "createable": false,
        "updateable": false,
        "options": [
          {
            "value": "Omitted",
            "label": "Omitted"
          },
          {
            "value": "Pipeline",
            "label": "Pipeline"
          },
          {
            "value": "BestCase",
            "label": "Best Case"
          },
          {
            "value": "MostLikely",
            "label": "Most Likely"
          },
          {
            "value": "Forecast",
            "label": "Commit"
          },
          {
            "value": "Closed",
            "label": "Closed"
          }
        ]
      },
      {
        "apiName": "ForecastCategoryName",
        "label": "Forecast Category",
        "type": "picklist",
        "createable": false,
        "updateable": false,
        "options": [
          {
            "value": "Omitted",
            "label": "Omitted"
          },
          {
            "value": "Pipeline",
            "label": "Pipeline"
          },
          {
            "value": "Best Case",
            "label": "Best Case"
          },
          {
            "value": "Commit",
            "label": "Commit"
          },
          {
            "value": "Closed",
            "label": "Closed"
          }
        ]
      },
      {
        "apiName": "ExpectedRevenue",
        "label": "Expected Revenue",
        "type": "currency",
        "createable": false,
        "updateable": false
      },
      {
        "apiName": "HasOpportunityLineItem",
        "label": "Has Opportunity Line Item",
        "type": "boolean",
        "createable": false,
        "updateable": false
      },
      {
        "apiName": "LastStageChangeDate",
        "label": "Last Stage Change Date",
        "type": "datetime",
        "createable": false,
        "updateable": false
      },
      {
        "apiName": "IsClosed",
        "label": "Closed",
        "type": "boolean",
        "createable": false,
        "updateable": false
      },
      {
        "apiName": "IsWon",
        "label": "Won",
        "type": "boolean",
        "createable": false,
        "updateable": false,
        "returnType": "boolean",
        "formulaMode": "active",
        "projection": {
          "kind": "lookupValue",
          "targetObject": "OpportunityStage",
          "selectField": "IsWon",
          "matches": [
            {
              "targetField": "MasterLabel",
              "sourceField": "StageName"
            }
          ],
          "excludeDeleted": true
        }
      },
      {
        "apiName": "HasOpenActivity",
        "label": "Has Open Activity",
        "type": "boolean",
        "createable": false,
        "updateable": false
      },
      {
        "apiName": "Type",
        "label": "Opportunity Type",
        "type": "string"
      },
      {
        "apiName": "LeadSource",
        "label": "Lead Source",
        "type": "picklist",
        "options": [
          {
            "value": "Advertisement",
            "label": "Advertisement"
          },
          {
            "value": "Customer Event",
            "label": "Customer Event"
          },
          {
            "value": "Employee Referral",
            "label": "Employee Referral"
          },
          {
            "value": "External Referral",
            "label": "External Referral"
          },
          {
            "value": "Partner",
            "label": "Partner"
          },
          {
            "value": "Public Relations",
            "label": "Public Relations"
          },
          {
            "value": "Seminar - Internal",
            "label": "Seminar - Internal"
          },
          {
            "value": "Seminar - Partner",
            "label": "Seminar - Partner"
          },
          {
            "value": "Trade Show",
            "label": "Trade Show"
          },
          {
            "value": "Web",
            "label": "Web"
          },
          {
            "value": "Word of mouth",
            "label": "Word of mouth"
          },
          {
            "value": "Other",
            "label": "Other"
          }
        ]
      },
      {
        "apiName": "NextStep",
        "label": "Next Step",
        "type": "textarea"
      },
      {
        "apiName": "CampaignId",
        "label": "Campaign",
        "type": "reference",
        "referenceTo": [
          "Campaign"
        ],
        "relationshipName": "Campaign",
        "childRelationshipName": "Opportunities"
      },
      {
        "apiName": "Description",
        "label": "Description",
        "type": "textarea"
      },
      {
        "apiName": "RecordTypeId",
        "label": "Record Type",
        "type": "reference",
        "referenceTo": [
          "RecordType"
        ],
        "relationshipName": "RecordType"
      }
    ],
    "managedRelationships": [
      {
        "fieldApiName": "AccountId",
        "parentObject": "Account",
        "isSharingParent": false,
        "cascadeDelete": false
      },
      {
        "fieldApiName": "CampaignId",
        "parentObject": "Campaign",
        "isSharingParent": false,
        "cascadeDelete": false
      }
    ]
  },
  {
    "apiName": "OpportunityStage",
    "keyPrefix": "01J",
    "label": "Opportunity Stage",
    "pluralLabel": "Opportunity Stages",
    "tableType": "standard_object",
    "category": "crm",
    "sharingModel": "PublicRead",
    "enableHierarchySharing": false,
    "description": "Standard Salesforce OpportunityStage object — defines opportunity sales-process stages and their won/closed forecast semantics.",
    "fields": [
      {
        "apiName": "MasterLabel",
        "label": "Master Label",
        "type": "string",
        "required": true,
        "isNameField": true
      },
      {
        "apiName": "ApiName",
        "label": "API Name",
        "type": "string",
        "required": true
      },
      {
        "apiName": "IsActive",
        "label": "Active",
        "type": "boolean",
        "required": true,
        "default": "1"
      },
      {
        "apiName": "SortOrder",
        "label": "Sort Order",
        "type": "double"
      },
      {
        "apiName": "IsClosed",
        "label": "Closed",
        "type": "boolean",
        "required": true,
        "default": "0"
      },
      {
        "apiName": "IsWon",
        "label": "Won",
        "type": "boolean",
        "required": true,
        "default": "0"
      },
      {
        "apiName": "ForecastCategory",
        "label": "Forecast Category",
        "type": "picklist",
        "options": [
          {
            "value": "Omitted",
            "label": "Omitted"
          },
          {
            "value": "Pipeline",
            "label": "Pipeline"
          },
          {
            "value": "BestCase",
            "label": "Best Case"
          },
          {
            "value": "MostLikely",
            "label": "Most Likely"
          },
          {
            "value": "Forecast",
            "label": "Commit"
          },
          {
            "value": "Closed",
            "label": "Closed"
          }
        ]
      },
      {
        "apiName": "ForecastCategoryName",
        "label": "Forecast Category Name",
        "type": "string"
      },
      {
        "apiName": "DefaultProbability",
        "label": "Probability (%)",
        "type": "percent"
      }
    ]
  },
  {
    "apiName": "OpportunityContactRole",
    "keyPrefix": "00K",
    "label": "Opportunity Contact Role",
    "tableType": "standard_object",
    "category": "crm",
    "sharingModel": "ControlledByParent",
    "enableHierarchySharing": false,
    "description": "Standard Salesforce Opportunity Contact Role object; record-level access cascades from Opportunity while object and field access are derived from Opportunity and Contact permissions.",
    "accessPolicy": {
      "mode": "derived",
      "objectRead": {
        "allOf": [
          {
            "kind": "objectPermission",
            "object": "Opportunity",
            "operation": "Read"
          },
          {
            "kind": "objectPermission",
            "object": "Contact",
            "operation": "Read"
          }
        ]
      },
      "objectCreate": {
        "allOf": [
          {
            "kind": "objectPermission",
            "object": "Opportunity",
            "operation": "Edit"
          },
          {
            "kind": "objectPermission",
            "object": "Contact",
            "operation": "Read"
          }
        ]
      },
      "objectEdit": {
        "allOf": [
          {
            "kind": "objectPermission",
            "object": "Opportunity",
            "operation": "Edit"
          },
          {
            "kind": "objectPermission",
            "object": "Contact",
            "operation": "Read"
          }
        ]
      },
      "objectDelete": {
        "allOf": [
          {
            "kind": "objectPermission",
            "object": "Opportunity",
            "operation": "Edit"
          },
          {
            "kind": "objectPermission",
            "object": "Contact",
            "operation": "Read"
          }
        ]
      },
      "fieldRead": {
        "inherit": "objectRead"
      },
      "fieldEdit": {
        "inherit": "objectEdit"
      }
    },
    "fields": [
      {
        "apiName": "OpportunityId",
        "label": "Opportunity",
        "type": "reference",
        "required": true,
        "referenceTo": [
          "Opportunity"
        ],
        "relationshipName": "Opportunity",
        "childRelationshipName": "OpportunityContactRoles"
      },
      {
        "apiName": "ContactId",
        "label": "Contact",
        "type": "reference",
        "required": true,
        "referenceTo": [
          "Contact"
        ],
        "relationshipName": "Contact",
        "childRelationshipName": "OpportunityContactRoles"
      },
      {
        "apiName": "Role",
        "label": "Role",
        "type": "string"
      },
      {
        "apiName": "IsPrimary",
        "label": "Primary",
        "type": "boolean",
        "required": true,
        "default": "0"
      }
    ],
    "managedRelationships": [
      {
        "fieldApiName": "OpportunityId",
        "parentObject": "Opportunity",
        "isSharingParent": true
      }
    ]
  },
  {
    "apiName": "Quote",
    "keyPrefix": "0Q0",
    "label": "Quote",
    "tableType": "standard_object",
    "category": "crm",
    "sharingModel": "ControlledByParent",
    "enableHierarchySharing": true,
    "description": "Standard Salesforce Quote object",
    "fields": [
      {
        "apiName": "Name",
        "label": "Quote Name",
        "type": "string",
        "required": true,
        "isNameField": true,
        "isCompound": true,
        "composedFrom": [
          "QuoteNumber"
        ]
      },
      {
        "apiName": "QuoteNumber",
        "label": "Quote Number",
        "type": "autonumber"
      },
      {
        "apiName": "RecordTypeId",
        "label": "Record Type",
        "type": "reference",
        "referenceTo": [
          "_System_RecordType"
        ],
        "relationshipName": "RecordType"
      },
      {
        "apiName": "Status",
        "label": "Status",
        "type": "string",
        "required": true,
        "default": "Draft"
      },
      {
        "apiName": "OpportunityId",
        "label": "Opportunity",
        "type": "reference",
        "referenceTo": [
          "Opportunity"
        ],
        "relationshipName": "Opportunity"
      },
      {
        "apiName": "AccountId",
        "label": "Account",
        "type": "reference",
        "referenceTo": [
          "Account"
        ],
        "relationshipName": "Account"
      },
      {
        "apiName": "ContractId",
        "label": "Contract",
        "type": "reference",
        "referenceTo": [
          "Contract"
        ],
        "relationshipName": "Contract"
      },
      {
        "apiName": "ContactId",
        "label": "Contact",
        "type": "reference",
        "referenceTo": [
          "Contact"
        ],
        "relationshipName": "Contact"
      },
      {
        "apiName": "ExpirationDate",
        "label": "Expiration Date",
        "type": "date"
      },
      {
        "apiName": "Subtotal",
        "label": "Subtotal",
        "type": "currency"
      },
      {
        "apiName": "TotalPrice",
        "label": "Total Price",
        "type": "currency"
      },
      {
        "apiName": "Discount",
        "label": "Discount",
        "type": "percent"
      },
      {
        "apiName": "Tax",
        "label": "Tax",
        "type": "currency"
      },
      {
        "apiName": "GrandTotal",
        "label": "Grand Total",
        "type": "currency"
      },
      {
        "apiName": "Email",
        "label": "Email",
        "type": "email"
      },
      {
        "apiName": "Phone",
        "label": "Phone",
        "type": "phone"
      },
      {
        "apiName": "Fax",
        "label": "Fax",
        "type": "phone"
      },
      {
        "apiName": "BillingStreet",
        "label": "Billing Street",
        "type": "textarea"
      },
      {
        "apiName": "BillingCity",
        "label": "Billing City",
        "type": "string"
      },
      {
        "apiName": "BillingCountry",
        "label": "Billing Country",
        "type": "string"
      },
      {
        "apiName": "ShippingStreet",
        "label": "Shipping Street",
        "type": "textarea"
      },
      {
        "apiName": "ShippingCity",
        "label": "Shipping City",
        "type": "string"
      },
      {
        "apiName": "ShippingCountry",
        "label": "Shipping Country",
        "type": "string"
      },
      {
        "apiName": "Description",
        "label": "Description",
        "type": "textarea"
      },
      {
        "apiName": "Pricebook2Id",
        "label": "Price Book",
        "type": "reference",
        "referenceTo": [
          "Pricebook2"
        ],
        "relationshipName": "Pricebook2"
      },
      {
        "apiName": "CurrencyIsoCode",
        "label": "Currency ISO Code",
        "type": "picklist",
        "default": "USD",
        "options": [
          {
            "label": "Chinese Yuan",
            "value": "CNY"
          },
          {
            "label": "Japanese Yen",
            "value": "JPY"
          },
          {
            "label": "Singapore Dollar",
            "value": "SGD"
          },
          {
            "label": "U.S. Dollar",
            "value": "USD"
          }
        ]
      }
    ],
    "managedRelationships": [
      {
        "fieldApiName": "AccountId",
        "parentObject": "Account",
        "isSharingParent": false,
        "cascadeDelete": false
      },
      {
        "fieldApiName": "OpportunityId",
        "parentObject": "Opportunity",
        "isSharingParent": true,
        "cascadeDelete": false
      },
      {
        "fieldApiName": "ContractId",
        "parentObject": "Contract",
        "isSharingParent": false,
        "cascadeDelete": false
      },
      {
        "fieldApiName": "ContactId",
        "parentObject": "Contact",
        "isSharingParent": false,
        "cascadeDelete": false
      }
    ]
  },
  {
    "apiName": "Case",
    "keyPrefix": "500",
    "label": "Case",
    "tableType": "standard_object",
    "category": "crm",
    "sharingModel": "Private",
    "enableHierarchySharing": true,
    "description": "Standard Salesforce Case object",
    "fields": [
      {
        "apiName": "CaseNumber",
        "label": "Case Number",
        "type": "autonumber",
        "isNameField": true
      },
      {
        "apiName": "Subject",
        "label": "Subject",
        "type": "string",
        "required": true
      },
      {
        "apiName": "Status",
        "label": "Status",
        "type": "string",
        "required": true,
        "default": "New"
      },
      {
        "apiName": "Priority",
        "label": "Priority",
        "type": "string",
        "required": true,
        "default": "Medium"
      },
      {
        "apiName": "Origin",
        "label": "Origin",
        "type": "string"
      },
      {
        "apiName": "Type",
        "label": "Type",
        "type": "string"
      },
      {
        "apiName": "Reason",
        "label": "Reason",
        "type": "string"
      },
      {
        "apiName": "SuppliedName",
        "label": "Name",
        "type": "string"
      },
      {
        "apiName": "SuppliedEmail",
        "label": "Email Address",
        "type": "email"
      },
      {
        "apiName": "SuppliedPhone",
        "label": "Phone",
        "type": "string"
      },
      {
        "apiName": "SuppliedCompany",
        "label": "Company",
        "type": "string"
      },
      {
        "apiName": "ContactId",
        "label": "Contact",
        "type": "reference",
        "referenceTo": [
          "Contact"
        ],
        "relationshipName": "Contact",
        "childRelationshipName": "Cases"
      },
      {
        "apiName": "AccountId",
        "label": "Account",
        "type": "reference",
        "referenceTo": [
          "Account"
        ],
        "relationshipName": "Account",
        "childRelationshipName": "Cases"
      },
      {
        "apiName": "Description",
        "label": "Description",
        "type": "textarea"
      },
      {
        "apiName": "Comments",
        "label": "Comments",
        "type": "textarea"
      }
    ]
  },
  {
    "apiName": "CaseComment",
    "keyPrefix": "00a",
    "label": "Case Comment",
    "tableType": "standard_object",
    "category": "crm",
    "sharingModel": "ControlledByParent",
    "enableHierarchySharing": false,
    "description": "Standard Salesforce CaseComment object; record-level visibility follows the parent Case while object and field access are delegated through metadata-authored access policy.",
    "accessPolicy": {
      "mode": "derived",
      "objectRead": {
        "kind": "objectPermission",
        "object": "Case",
        "operation": "Read"
      },
      "objectCreate": {
        "kind": "objectPermission",
        "object": "Case",
        "operation": "Edit"
      },
      "objectEdit": {
        "allOf": [
          {
            "kind": "objectPermission",
            "object": "Case",
            "operation": "Edit"
          },
          {
            "anyOf": [
              {
                "kind": "objectPermission",
                "object": "Case",
                "operation": "ModifyAllRecords"
              },
              {
                "allOf": [
                  {
                    "kind": "systemPermission",
                    "apiName": "EditCaseComments"
                  },
                  {
                    "kind": "recordFieldEqualsCurrentUser",
                    "field": "CreatedById"
                  }
                ]
              }
            ]
          }
        ]
      },
      "objectDelete": {
        "allOf": [
          {
            "kind": "objectPermission",
            "object": "Case",
            "operation": "Edit"
          },
          {
            "anyOf": [
              {
                "kind": "objectPermission",
                "object": "Case",
                "operation": "ModifyAllRecords"
              },
              {
                "allOf": [
                  {
                    "kind": "systemPermission",
                    "apiName": "EditCaseComments"
                  },
                  {
                    "kind": "recordFieldEqualsCurrentUser",
                    "field": "CreatedById"
                  }
                ]
              }
            ]
          }
        ]
      },
      "fieldRead": {
        "inherit": "objectRead"
      },
      "fieldEdit": {
        "inherit": "objectEdit"
      }
    },
    "fields": [
      {
        "apiName": "ParentId",
        "label": "Case",
        "type": "reference",
        "required": true,
        "referenceTo": [
          "Case"
        ],
        "relationshipName": "Parent",
        "childRelationshipName": "CaseComments"
      },
      {
        "apiName": "CommentBody",
        "label": "Comment Body",
        "type": "textarea",
        "required": true
      },
      {
        "apiName": "IsPublished",
        "label": "Published",
        "type": "boolean",
        "required": true,
        "default": "0"
      }
    ],
    "managedRelationships": [
      {
        "fieldApiName": "ParentId",
        "parentObject": "Case",
        "isSharingParent": true
      }
    ]
  },
  {
    "apiName": "Task",
    "keyPrefix": "00T",
    "label": "Task",
    "tableType": "standard_object",
    "category": "crm",
    "sharingModel": "ControlledByParent",
    "enableHierarchySharing": false,
    "accessPolicy": {
      "rowRead": {
        "kind": "targetRecordRead",
        "targetAssociations": [
          {
            "targetObjectField": "WhatId_type",
            "targetRecordField": "WhatId"
          },
          {
            "targetObjectField": "WhoId_type",
            "targetRecordField": "WhoId"
          }
        ],
        "includeSourceVisibility": true
      }
    },
    "description": "Standard Salesforce Task object",
    "fields": [
      {
        "apiName": "Subject",
        "label": "Subject",
        "type": "string",
        "isNameField": true
      },
      {
        "apiName": "Status",
        "label": "Status",
        "type": "picklist",
        "default": "Not Started",
        "options": [
          {
            "value": "Not Started",
            "label": "Not Started"
          },
          {
            "value": "In Progress",
            "label": "In Progress"
          },
          {
            "value": "Completed",
            "label": "Completed"
          },
          {
            "value": "Waiting on someone else",
            "label": "Waiting on someone else"
          },
          {
            "value": "Deferred",
            "label": "Deferred"
          }
        ]
      },
      {
        "apiName": "Priority",
        "label": "Priority",
        "type": "picklist",
        "default": "Normal",
        "options": [
          {
            "value": "High",
            "label": "High"
          },
          {
            "value": "Normal",
            "label": "Normal"
          },
          {
            "value": "Low",
            "label": "Low"
          }
        ]
      },
      {
        "apiName": "ActivityDate",
        "label": "Due Date Only",
        "type": "date"
      },
      {
        "apiName": "ActivityDateTime",
        "label": "Due Date Time",
        "type": "datetime"
      },
      {
        "apiName": "Description",
        "label": "Comments",
        "type": "textarea"
      },
      {
        "apiName": "WhoId",
        "label": "Name",
        "type": "reference",
        "referenceTo": [
          "Contact",
          "Lead"
        ],
        "isPolymorphic": true,
        "relationshipName": "Who",
        "childRelationshipName": "Tasks"
      },
      {
        "apiName": "WhatId",
        "label": "Related To",
        "type": "reference",
        "referenceTo": [
          "Account",
          "Asset",
          "Campaign",
          "Case",
          "Contract",
          "Opportunity",
          "Order",
          "Product2",
          "Quote"
        ],
        "isPolymorphic": true,
        "relationshipName": "What",
        "childRelationshipName": "Tasks"
      },
      {
        "apiName": "AccountId",
        "label": "Account",
        "type": "reference",
        "referenceTo": [
          "Account"
        ],
        "relationshipName": "Account",
        "createable": false,
        "updateable": false
      },
      {
        "apiName": "RecordTypeId",
        "label": "Record Type ID",
        "type": "reference",
        "referenceTo": [
          "RecordType"
        ],
        "relationshipName": "RecordType"
      },
      {
        "apiName": "Type",
        "label": "Type",
        "type": "picklist",
        "options": [
          {
            "value": "Call",
            "label": "Call"
          },
          {
            "value": "Email",
            "label": "Email"
          },
          {
            "value": "Meeting",
            "label": "Meeting"
          },
          {
            "value": "Other",
            "label": "Other"
          }
        ]
      },
      {
        "apiName": "IsClosed",
        "label": "Closed",
        "type": "formula",
        "createable": false,
        "updateable": false,
        "returnType": "boolean",
        "formulaMode": "active",
        "formula": "OR(ISPICKVAL(Status, \"Completed\"), ISPICKVAL(Status, \"Deferred\"))"
      },
      {
        "apiName": "IsArchived",
        "label": "Archived",
        "type": "boolean",
        "createable": false,
        "updateable": false
      },
      {
        "apiName": "IsHighPriority",
        "label": "High Priority",
        "type": "boolean",
        "createable": false,
        "updateable": false
      },
      {
        "apiName": "IsTaskLatestUpdate",
        "label": "Latest Update",
        "type": "boolean"
      },
      {
        "apiName": "IsRecurrence",
        "label": "Create Recurring Series of Tasks",
        "type": "boolean",
        "updateable": false
      },
      {
        "apiName": "IsReminderSet",
        "label": "Reminder Set",
        "type": "boolean"
      },
      {
        "apiName": "ReminderDateTime",
        "label": "Reminder Date/Time",
        "type": "datetime"
      },
      {
        "apiName": "CompletedDateTime",
        "label": "Completed Date/Time",
        "type": "datetime",
        "createable": false,
        "updateable": false
      },
      {
        "apiName": "CallDurationInSeconds",
        "label": "Call Duration",
        "type": "double"
      },
      {
        "apiName": "CallType",
        "label": "Call Type",
        "type": "picklist",
        "options": [
          {
            "value": "Internal",
            "label": "Internal"
          },
          {
            "value": "Inbound",
            "label": "Inbound"
          },
          {
            "value": "Outbound",
            "label": "Outbound"
          }
        ]
      },
      {
        "apiName": "CallDisposition",
        "label": "Call Result",
        "type": "string"
      },
      {
        "apiName": "CallObject",
        "label": "Call Object Identifier",
        "type": "string"
      },
      {
        "apiName": "TaskSubtype",
        "label": "Task Subtype",
        "type": "picklist",
        "updateable": false,
        "default": "Task",
        "options": [
          {
            "value": "Task",
            "label": "Task"
          },
          {
            "value": "Call",
            "label": "Call"
          },
          {
            "value": "Email",
            "label": "Email"
          }
        ]
      },
      {
        "apiName": "ActivitySubtype",
        "label": "Activity Subtype",
        "type": "picklist",
        "options": [
          {
            "value": "Task",
            "label": "Task"
          },
          {
            "value": "Call",
            "label": "Call"
          },
          {
            "value": "Email",
            "label": "Email"
          }
        ]
      },
      {
        "apiName": "RecurrenceActivityId",
        "label": "Recurrence Activity ID",
        "type": "reference",
        "referenceTo": [
          "Task"
        ],
        "relationshipName": "RecurrenceActivity",
        "childRelationshipName": "RecurringTasks",
        "createable": false,
        "updateable": false
      },
      {
        "apiName": "RecurrenceStartDateOnly",
        "label": "Recurrence Start",
        "type": "date"
      },
      {
        "apiName": "RecurrenceEndDateOnly",
        "label": "Recurrence End",
        "type": "date"
      },
      {
        "apiName": "RecurrenceTimeZoneSidKey",
        "label": "Recurrence Time Zone",
        "type": "string"
      },
      {
        "apiName": "RecurrenceType",
        "label": "Recurrence Type",
        "type": "picklist",
        "options": [
          {
            "value": "RecursDaily",
            "label": "Daily"
          },
          {
            "value": "RecursEveryWeekday",
            "label": "Every Weekday"
          },
          {
            "value": "RecursWeekly",
            "label": "Weekly"
          },
          {
            "value": "RecursMonthly",
            "label": "Monthly"
          },
          {
            "value": "RecursMonthlyNth",
            "label": "Monthly Nth"
          },
          {
            "value": "RecursYearly",
            "label": "Yearly"
          },
          {
            "value": "RecursYearlyNth",
            "label": "Yearly Nth"
          }
        ]
      },
      {
        "apiName": "RecurrenceInterval",
        "label": "Recurrence Interval",
        "type": "double"
      },
      {
        "apiName": "RecurrenceDayOfWeekMask",
        "label": "Recurrence Day Of Week Mask",
        "type": "double"
      },
      {
        "apiName": "RecurrenceDayOfMonth",
        "label": "Recurrence Day Of Month",
        "type": "double"
      },
      {
        "apiName": "RecurrenceInstance",
        "label": "Recurrence Instance",
        "type": "picklist",
        "options": [
          {
            "value": "First",
            "label": "First"
          },
          {
            "value": "Second",
            "label": "Second"
          },
          {
            "value": "Third",
            "label": "Third"
          },
          {
            "value": "Fourth",
            "label": "Fourth"
          },
          {
            "value": "Last",
            "label": "Last"
          }
        ]
      },
      {
        "apiName": "RecurrenceMonthOfYear",
        "label": "Recurrence Month Of Year",
        "type": "picklist",
        "options": [
          {
            "value": "January",
            "label": "January"
          },
          {
            "value": "February",
            "label": "February"
          },
          {
            "value": "March",
            "label": "March"
          },
          {
            "value": "April",
            "label": "April"
          },
          {
            "value": "May",
            "label": "May"
          },
          {
            "value": "June",
            "label": "June"
          },
          {
            "value": "July",
            "label": "July"
          },
          {
            "value": "August",
            "label": "August"
          },
          {
            "value": "September",
            "label": "September"
          },
          {
            "value": "October",
            "label": "October"
          },
          {
            "value": "November",
            "label": "November"
          },
          {
            "value": "December",
            "label": "December"
          }
        ]
      },
      {
        "apiName": "RecurrenceRegeneratedType",
        "label": "Recurrence Regenerated Type",
        "type": "picklist",
        "options": [
          {
            "value": "RecurrenceRegenerateAfterDueDate",
            "label": "After due date"
          },
          {
            "value": "RecurrenceRegenerateAfterToday",
            "label": "After date completed"
          },
          {
            "value": "RecurrenceRegenerated",
            "label": "Task closed"
          }
        ]
      }
    ],
    "indices": [
      {
        "columns": [
          "WhoId"
        ]
      },
      {
        "columns": [
          "WhatId"
        ]
      }
    ],
    "managedRelationships": [
      {
        "fieldApiName": "AccountId",
        "parentObject": "Account",
        "isSharingParent": true
      }
    ]
  },
  {
    "apiName": "Campaign",
    "keyPrefix": "701",
    "label": "Campaign",
    "tableType": "standard_object",
    "category": "crm",
    "sharingModel": "PublicRead",
    "enableHierarchySharing": true,
    "description": "Standard Salesforce Campaign object",
    "fields": [
      {
        "apiName": "Name",
        "label": "Campaign Name",
        "type": "string",
        "required": true,
        "isNameField": true
      },
      {
        "apiName": "Type",
        "label": "Campaign Type",
        "type": "string"
      },
      {
        "apiName": "Status",
        "label": "Status",
        "type": "string"
      },
      {
        "apiName": "StartDate",
        "label": "Start Date",
        "type": "date"
      },
      {
        "apiName": "EndDate",
        "label": "End Date",
        "type": "date"
      },
      {
        "apiName": "IsActive",
        "label": "Active",
        "type": "boolean",
        "required": true,
        "default": "0"
      },
      {
        "apiName": "BudgetedCost",
        "label": "Budgeted Cost",
        "type": "currency"
      },
      {
        "apiName": "ActualCost",
        "label": "Actual Cost",
        "type": "currency"
      },
      {
        "apiName": "AmountAllOpportunities",
        "label": "Amount All Opportunities",
        "type": "rollupsummary",
        "returnType": "currency",
        "createable": false,
        "updateable": false,
        "rollupConfig": {
          "summaryObject": "Opportunity",
          "summaryField": "Amount",
          "relationshipField": "CampaignId",
          "calcType": "SUM"
        }
      },
      {
        "apiName": "AmountWonOpportunities",
        "label": "Amount Won Opportunities",
        "type": "rollupsummary",
        "returnType": "currency",
        "createable": false,
        "updateable": false,
        "rollupConfig": {
          "summaryObject": "Opportunity",
          "summaryField": "Amount",
          "relationshipField": "CampaignId",
          "calcType": "SUM",
          "filter": "IsWon = true"
        }
      },
      {
        "apiName": "ExpectedRevenue",
        "label": "Expected Revenue",
        "type": "currency"
      },
      {
        "apiName": "NumberOfContacts",
        "label": "Number of Contacts",
        "type": "rollupsummary",
        "returnType": "int",
        "createable": false,
        "updateable": false,
        "rollupConfig": {
          "summaryObject": "CampaignMember",
          "relationshipField": "CampaignId",
          "calcType": "COUNT",
          "filter": "ContactId IS NOT NULL",
          "maintenanceMode": "eventual"
        }
      },
      {
        "apiName": "NumberOfConvertedLeads",
        "label": "Number of Converted Leads",
        "type": "rollupsummary",
        "returnType": "int",
        "createable": false,
        "updateable": false,
        "rollupConfig": {
          "summaryObject": "CampaignMember",
          "relationshipField": "CampaignId",
          "calcType": "COUNT",
          "filter": "LeadId IS NOT NULL AND LeadIsConverted = true",
          "maintenanceMode": "eventual"
        }
      },
      {
        "apiName": "NumberOfLeads",
        "label": "Number of Leads",
        "type": "rollupsummary",
        "returnType": "int",
        "createable": false,
        "updateable": false,
        "rollupConfig": {
          "summaryObject": "CampaignMember",
          "relationshipField": "CampaignId",
          "calcType": "COUNT",
          "filter": "LeadId IS NOT NULL",
          "maintenanceMode": "eventual"
        }
      },
      {
        "apiName": "NumberOfOpportunities",
        "label": "Number of Opportunities",
        "type": "rollupsummary",
        "returnType": "int",
        "createable": false,
        "updateable": false,
        "rollupConfig": {
          "summaryObject": "Opportunity",
          "relationshipField": "CampaignId",
          "calcType": "COUNT"
        }
      },
      {
        "apiName": "NumberOfWonOpportunities",
        "label": "Number of Won Opportunities",
        "type": "rollupsummary",
        "returnType": "int",
        "createable": false,
        "updateable": false,
        "rollupConfig": {
          "summaryObject": "Opportunity",
          "relationshipField": "CampaignId",
          "calcType": "COUNT",
          "filter": "IsWon = true"
        }
      },
      {
        "apiName": "NumberSent",
        "label": "Number Sent",
        "type": "double"
      },
      {
        "apiName": "NumberOfResponses",
        "label": "Number of Responses",
        "type": "rollupsummary",
        "returnType": "int",
        "createable": false,
        "updateable": false,
        "rollupConfig": {
          "summaryObject": "CampaignMember",
          "relationshipField": "CampaignId",
          "calcType": "COUNT",
          "filter": "HasResponded = true",
          "maintenanceMode": "eventual"
        }
      },
      {
        "apiName": "Description",
        "label": "Description",
        "type": "textarea"
      }
    ]
  },
  {
    "apiName": "CampaignMemberStatus",
    "keyPrefix": "01Y",
    "label": "Campaign Member Status",
    "pluralLabel": "Campaign Member Statuses",
    "tableType": "standard_object",
    "category": "crm",
    "sharingModel": "ControlledByParent",
    "description": "Defines available status values for campaign members per campaign",
    "fields": [
      {
        "apiName": "CampaignId",
        "label": "Campaign",
        "type": "reference",
        "required": true,
        "referenceTo": [
          "Campaign"
        ],
        "relationshipName": "Campaign",
        "childRelationshipName": "CampaignMemberStatuses"
      },
      {
        "apiName": "Label",
        "label": "Member Status",
        "type": "string",
        "required": true,
        "isNameField": true
      },
      {
        "apiName": "SortOrder",
        "label": "Sort Order",
        "type": "integer",
        "siblingMaxParentField": "CampaignId"
      },
      {
        "apiName": "IsDefault",
        "label": "Default",
        "type": "boolean",
        "required": true,
        "default": "0"
      },
      {
        "apiName": "HasResponded",
        "label": "Has Responded",
        "type": "boolean",
        "required": true,
        "default": "0"
      }
    ],
    "exclusiveSiblingFields": [
      {
        "fieldApiName": "IsDefault",
        "partitionFieldApiName": "CampaignId"
      }
    ],
    "indices": [
      {
        "columns": [
          "CampaignId"
        ]
      }
    ],
    "managedRelationships": [
      {
        "fieldApiName": "CampaignId",
        "parentObject": "Campaign",
        "isSharingParent": true,
        "cascadeDelete": false
      }
    ]
  },
  {
    "apiName": "CampaignMember",
    "keyPrefix": "00v",
    "label": "Campaign Member",
    "pluralLabel": "Campaign Members",
    "tableType": "standard_object",
    "category": "crm",
    "sharingModel": "ControlledByParent",
    "description": "Standard Salesforce CampaignMember object",
    "fields": [
      {
        "apiName": "Name",
        "label": "Name",
        "type": "formula",
        "returnType": "string",
        "formulaMode": "active",
        "formula": "IF(ISBLANK(ContactId), Lead.Name, Contact.Name)",
        "isNameField": true
      },
      {
        "apiName": "FirstName",
        "label": "First Name",
        "type": "formula",
        "returnType": "string",
        "formulaMode": "active",
        "formula": "IF(ISBLANK(ContactId), Lead.FirstName, Contact.FirstName)"
      },
      {
        "apiName": "LastName",
        "label": "Last Name",
        "type": "formula",
        "returnType": "string",
        "formulaMode": "active",
        "formula": "IF(ISBLANK(ContactId), Lead.LastName, Contact.LastName)"
      },
      {
        "apiName": "Title",
        "label": "Title",
        "type": "formula",
        "returnType": "string",
        "formulaMode": "active",
        "formula": "IF(ISBLANK(ContactId), Lead.Title, Contact.Title)"
      },
      {
        "apiName": "Street",
        "label": "Street",
        "type": "formula",
        "returnType": "string",
        "formulaMode": "active",
        "formula": "IF(ISBLANK(ContactId), Lead.Street, Contact.MailingStreet)"
      },
      {
        "apiName": "City",
        "label": "City",
        "type": "formula",
        "returnType": "string",
        "formulaMode": "active",
        "formula": "IF(ISBLANK(ContactId), Lead.City, Contact.MailingCity)"
      },
      {
        "apiName": "State",
        "label": "State/Province",
        "type": "formula",
        "returnType": "string",
        "formulaMode": "active",
        "formula": "IF(ISBLANK(ContactId), Lead.State, Contact.MailingState)"
      },
      {
        "apiName": "PostalCode",
        "label": "Zip/Postal Code",
        "type": "formula",
        "returnType": "string",
        "formulaMode": "active",
        "formula": "IF(ISBLANK(ContactId), Lead.PostalCode, Contact.MailingPostalCode)"
      },
      {
        "apiName": "Country",
        "label": "Country",
        "type": "formula",
        "returnType": "string",
        "formulaMode": "active",
        "formula": "IF(ISBLANK(ContactId), Lead.Country, Contact.MailingCountry)"
      },
      {
        "apiName": "Email",
        "label": "Email",
        "type": "formula",
        "returnType": "email",
        "formulaMode": "active",
        "formula": "IF(ISBLANK(ContactId), Lead.Email, Contact.Email)"
      },
      {
        "apiName": "Phone",
        "label": "Phone",
        "type": "formula",
        "returnType": "phone",
        "formulaMode": "active",
        "formula": "IF(ISBLANK(ContactId), BLANKVALUE(Lead.Phone, Lead.MobilePhone), BLANKVALUE(Contact.Phone, Contact.MobilePhone))"
      },
      {
        "apiName": "Fax",
        "label": "Fax",
        "type": "formula",
        "returnType": "phone",
        "formulaMode": "active",
        "formula": "IF(ISBLANK(ContactId), Lead.Fax, Contact.Fax)"
      },
      {
        "apiName": "MobilePhone",
        "label": "Mobile",
        "type": "formula",
        "returnType": "phone",
        "formulaMode": "active",
        "formula": "IF(ISBLANK(ContactId), Lead.MobilePhone, Contact.MobilePhone)"
      },
      {
        "apiName": "Description",
        "label": "Description",
        "type": "formula",
        "returnType": "textarea",
        "formulaMode": "active",
        "formula": "IF(ISBLANK(ContactId), Lead.Description, Contact.Description)"
      },
      {
        "apiName": "DoNotCall",
        "label": "Do Not Call",
        "type": "formula",
        "returnType": "boolean",
        "formulaMode": "active",
        "formula": "IF(ISBLANK(ContactId), Lead.DoNotCall, Contact.DoNotCall)"
      },
      {
        "apiName": "HasOptedOutOfEmail",
        "label": "Email Opt Out",
        "type": "formula",
        "returnType": "boolean",
        "formulaMode": "active",
        "formula": "IF(ISBLANK(ContactId), Lead.HasOptedOutOfEmail, Contact.HasOptedOutOfEmail)"
      },
      {
        "apiName": "CompanyOrAccount",
        "label": "Company (Account)",
        "type": "formula",
        "returnType": "string",
        "formulaMode": "active",
        "formula": "IF(ISBLANK(ContactId), Lead.Company, Contact.Account.Name)"
      },
      {
        "apiName": "CampaignId",
        "label": "Campaign",
        "type": "reference",
        "required": true,
        "updateable": false,
        "referenceTo": [
          "Campaign"
        ],
        "relationshipName": "Campaign",
        "childRelationshipName": "CampaignMembers"
      },
      {
        "apiName": "LeadId",
        "label": "Lead",
        "type": "reference",
        "updateable": false,
        "referenceTo": [
          "Lead"
        ],
        "relationshipName": "Lead",
        "childRelationshipName": "CampaignMembers"
      },
      {
        "apiName": "LeadIsConverted",
        "label": "Lead Is Converted",
        "type": "boolean",
        "createable": false,
        "updateable": false,
        "returnType": "boolean",
        "formulaMode": "active",
        "projection": {
          "kind": "lookupValue",
          "targetObject": "Lead",
          "selectField": "IsConverted",
          "matches": [
            {
              "targetField": "Id",
              "sourceField": "LeadId"
            }
          ],
          "excludeDeleted": true
        }
      },
      {
        "apiName": "ContactId",
        "label": "Contact",
        "type": "reference",
        "updateable": false,
        "referenceTo": [
          "Contact"
        ],
        "relationshipName": "Contact",
        "childRelationshipName": "CampaignMembers"
      },
      {
        "apiName": "Status",
        "label": "Status",
        "type": "string",
        "validator": "runtime_scoped_picklist",
        "controllingField": "CampaignId",
        "referenceTo": [
          "CampaignMemberStatus"
        ]
      },
      {
        "apiName": "HasResponded",
        "label": "Responded",
        "type": "boolean",
        "returnType": "boolean",
        "formulaMode": "active",
        "projection": {
          "kind": "lookupValue",
          "targetObject": "CampaignMemberStatus",
          "selectField": "HasResponded",
          "matches": [
            {
              "targetField": "CampaignId",
              "sourceField": "CampaignId"
            },
            {
              "targetField": "Label",
              "sourceField": "Status"
            }
          ],
          "excludeDeleted": true
        }
      },
      {
        "apiName": "FirstRespondedDate",
        "label": "First Responded Date",
        "type": "date",
        "createable": false,
        "updateable": false
      }
    ],
    "managedRelationships": [
      {
        "fieldApiName": "CampaignId",
        "parentObject": "Campaign",
        "isSharingParent": true,
        "cascadeDelete": false
      },
      {
        "fieldApiName": "LeadId",
        "parentObject": "Lead",
        "isSharingParent": false,
        "cascadeDelete": false
      },
      {
        "fieldApiName": "ContactId",
        "parentObject": "Contact",
        "isSharingParent": false,
        "cascadeDelete": false
      }
    ]
  },
  {
    "apiName": "Order",
    "keyPrefix": "801",
    "label": "Order",
    "tableType": "standard_object",
    "category": "crm",
    "sharingModel": "Private",
    "enableHierarchySharing": true,
    "description": "Standard Salesforce Order object",
    "fields": [
      {
        "apiName": "OrderNumber",
        "label": "Order Number",
        "type": "autonumber"
      },
      {
        "apiName": "AccountId",
        "label": "Account",
        "type": "reference",
        "required": true,
        "referenceTo": [
          "Account"
        ],
        "relationshipName": "Account",
        "childRelationshipName": "Orders"
      },
      {
        "apiName": "ContractId",
        "label": "Contract",
        "type": "reference",
        "referenceTo": [
          "Contract"
        ],
        "relationshipName": "Contract",
        "childRelationshipName": "Orders"
      },
      {
        "apiName": "QuoteId",
        "label": "Quote",
        "type": "reference",
        "referenceTo": [
          "Quote"
        ],
        "relationshipName": "Quote"
      },
      {
        "apiName": "RecordTypeId",
        "label": "Record Type",
        "type": "reference",
        "referenceTo": [
          "RecordType"
        ],
        "relationshipName": "RecordType"
      },
      {
        "apiName": "Status",
        "label": "Status",
        "type": "string",
        "required": true,
        "default": "Draft"
      },
      {
        "apiName": "EffectiveDate",
        "label": "Effective Date",
        "type": "date",
        "required": true
      },
      {
        "apiName": "EndDate",
        "label": "End Date",
        "type": "date"
      },
      {
        "apiName": "TotalAmount",
        "label": "Total Amount",
        "type": "currency"
      },
      {
        "apiName": "Description",
        "label": "Description",
        "type": "textarea"
      },
      {
        "apiName": "Type",
        "label": "Type",
        "type": "picklist",
        "required": false,
        "options": [
          {
            "label": "New",
            "value": "New"
          },
          {
            "label": "Renewal",
            "value": "Renewal"
          },
          {
            "label": "Expansion",
            "value": "Expansion"
          }
        ]
      },
      {
        "apiName": "StatusCode",
        "label": "Status Category",
        "type": "picklist",
        "default": "Draft",
        "createable": false,
        "updateable": false,
        "options": [
          {
            "label": "Draft",
            "value": "Draft",
            "isDefault": true
          },
          {
            "label": "Activated",
            "value": "Activated"
          }
        ]
      },
      {
        "apiName": "ActivatedDate",
        "label": "Activated Date",
        "type": "datetime",
        "createable": false,
        "updateable": false
      },
      {
        "apiName": "ActivatedById",
        "label": "Activated By",
        "type": "reference",
        "createable": false,
        "updateable": false,
        "referenceTo": [
          "User"
        ],
        "relationshipName": "ActivatedBy"
      },
      {
        "apiName": "OpportunityId",
        "label": "Opportunity",
        "type": "reference",
        "referenceTo": [
          "Opportunity"
        ],
        "relationshipName": "Opportunity"
      },
      {
        "apiName": "Pricebook2Id",
        "label": "Price Book",
        "type": "reference",
        "referenceTo": [
          "Pricebook2"
        ],
        "relationshipName": "Pricebook2",
        "childRelationshipName": "Orders"
      },
      {
        "apiName": "CurrencyIsoCode",
        "label": "Currency ISO Code",
        "type": "picklist",
        "required": true,
        "default": "USD",
        "options": [
          {
            "label": "Chinese Yuan",
            "value": "CNY"
          },
          {
            "label": "Japanese Yen",
            "value": "JPY"
          },
          {
            "label": "Singapore Dollar",
            "value": "SGD"
          },
          {
            "label": "U.S. Dollar",
            "value": "USD"
          }
        ]
      }
    ],
    "managedRelationships": [
      {
        "fieldApiName": "AccountId",
        "parentObject": "Account",
        "isSharingParent": false,
        "cascadeDelete": false
      },
      {
        "fieldApiName": "ContractId",
        "parentObject": "Contract",
        "isSharingParent": false,
        "cascadeDelete": false
      },
      {
        "fieldApiName": "OpportunityId",
        "parentObject": "Opportunity",
        "isSharingParent": false,
        "cascadeDelete": false
      },
      {
        "fieldApiName": "QuoteId",
        "parentObject": "Quote",
        "isSharingParent": false,
        "cascadeDelete": false
      }
    ]
  },
  {
    "apiName": "Contract",
    "keyPrefix": "800",
    "label": "Contract",
    "tableType": "standard_object",
    "category": "crm",
    "sharingModel": "ControlledByParent",
    "enableHierarchySharing": true,
    "description": "Standard Salesforce Contract object — legal agreements linked to Accounts",
    "fields": [
      {
        "apiName": "Name",
        "label": "Contract Name",
        "type": "string",
        "required": true,
        "isNameField": true,
        "isCompound": true,
        "composedFrom": [
          "ContractNumber"
        ]
      },
      {
        "apiName": "AccountId",
        "label": "Account Name",
        "type": "reference",
        "required": true,
        "referenceTo": [
          "Account"
        ],
        "relationshipName": "Account",
        "childRelationshipName": "Contracts"
      },
      {
        "apiName": "Status",
        "label": "Status",
        "type": "picklist",
        "required": true,
        "default": "Draft",
        "validator": "state_transition",
        "validatorConfig": "{\"initial\":[\"Draft\"],\"transitions\":{\"Draft\":[\"InApproval\",\"Activated\"],\"InApproval\":[\"Activated\"],\"Activated\":[\"Effective\",\"Expired\",\"Terminated\"],\"Effective\":[\"Expired\",\"Terminated\"],\"Expired\":[],\"Terminated\":[]}}",
        "options": [
          {
            "label": "Draft",
            "value": "Draft",
            "isDefault": true
          },
          {
            "label": "InApproval",
            "value": "InApproval"
          },
          {
            "label": "Activated",
            "value": "Activated"
          },
          {
            "label": "Effective",
            "value": "Effective"
          },
          {
            "label": "Expired",
            "value": "Expired"
          },
          {
            "label": "Terminated",
            "value": "Terminated"
          }
        ]
      },
      {
        "apiName": "StartDate",
        "label": "Contract Start Date",
        "type": "date",
        "required": true
      },
      {
        "apiName": "ContractTerm",
        "label": "Contract Term (months)",
        "type": "double",
        "required": true
      },
      {
        "apiName": "ContractNumber",
        "label": "Contract Number",
        "type": "autonumber"
      },
      {
        "apiName": "EndDate",
        "label": "Contract End Date",
        "type": "date"
      },
      {
        "apiName": "Description",
        "label": "Description",
        "type": "textarea"
      },
      {
        "apiName": "LegacyLink__c",
        "label": "Legacy Link",
        "type": "richtextarea"
      },
      {
        "apiName": "BillingStreet",
        "label": "Billing Street",
        "type": "textarea"
      },
      {
        "apiName": "BillingCity",
        "label": "Billing City",
        "type": "string"
      },
      {
        "apiName": "BillingState",
        "label": "Billing State",
        "type": "string"
      },
      {
        "apiName": "BillingPostalCode",
        "label": "Billing Zip/Postal Code",
        "type": "string"
      },
      {
        "apiName": "BillingCountry",
        "label": "Billing Country",
        "type": "string"
      },
      {
        "apiName": "ShippingStreet",
        "label": "Shipping Street",
        "type": "textarea"
      },
      {
        "apiName": "ShippingCity",
        "label": "Shipping City",
        "type": "string"
      },
      {
        "apiName": "ShippingState",
        "label": "Shipping State",
        "type": "string"
      },
      {
        "apiName": "ShippingPostalCode",
        "label": "Shipping Zip/Postal Code",
        "type": "string"
      },
      {
        "apiName": "ShippingCountry",
        "label": "Shipping Country",
        "type": "string"
      },
      {
        "apiName": "CompanySignedId",
        "label": "Company Signed By",
        "type": "reference",
        "referenceTo": [
          "User"
        ],
        "relationshipName": "CompanySigned",
        "childRelationshipName": "ContractsSigned"
      },
      {
        "apiName": "CompanySignedDate",
        "label": "Company Signed Date",
        "type": "date"
      },
      {
        "apiName": "CustomerSignedId",
        "label": "Customer Signed By",
        "type": "reference",
        "referenceTo": [
          "Contact"
        ],
        "relationshipName": "CustomerSigned",
        "childRelationshipName": "ContractsSigned"
      },
      {
        "apiName": "CustomerSignedDate",
        "label": "Customer Signed Date",
        "type": "date"
      },
      {
        "apiName": "CustomerSignedTitle",
        "label": "Customer Signed Title",
        "type": "string"
      },
      {
        "apiName": "SpecialTerms",
        "label": "Special Terms",
        "type": "textarea"
      },
      {
        "apiName": "Pricebook2Id",
        "label": "Price Book",
        "type": "reference",
        "referenceTo": [
          "Pricebook2"
        ],
        "relationshipName": "Pricebook2",
        "childRelationshipName": "Contracts"
      },
      {
        "apiName": "RecordTypeId",
        "label": "Record Type",
        "type": "reference",
        "referenceTo": [
          "RecordType"
        ],
        "relationshipName": "RecordType"
      },
      {
        "apiName": "StatusCode",
        "label": "Status Category",
        "type": "picklist",
        "default": "Draft",
        "createable": false,
        "updateable": false,
        "options": [
          {
            "label": "Draft",
            "value": "Draft",
            "isDefault": true
          },
          {
            "label": "InApproval",
            "value": "InApproval"
          },
          {
            "label": "Activated",
            "value": "Activated"
          },
          {
            "label": "Effective",
            "value": "Effective"
          },
          {
            "label": "Expired",
            "value": "Expired"
          },
          {
            "label": "Terminated",
            "value": "Terminated"
          }
        ]
      },
      {
        "apiName": "ActivatedDate",
        "label": "Activated Date",
        "type": "datetime",
        "createable": false,
        "updateable": false
      },
      {
        "apiName": "ActivatedById",
        "label": "Activated By",
        "type": "reference",
        "createable": false,
        "updateable": false,
        "referenceTo": [
          "User"
        ],
        "relationshipName": "ActivatedBy"
      }
    ],
    "managedRelationships": [
      {
        "fieldApiName": "AccountId",
        "parentObject": "Account",
        "isSharingParent": true,
        "cascadeDelete": false
      }
    ]
  },
  {
    "apiName": "Pricebook2",
    "keyPrefix": "01s",
    "label": "Pricebook2",
    "tableType": "standard_object",
    "category": "crm",
    "sharingModel": "PublicRead",
    "enableHierarchySharing": false,
    "description": "Standard Salesforce Price Book object — defines product pricing for opportunities and quotes",
    "fields": [
      {
        "apiName": "Name",
        "label": "Name",
        "type": "string"
      },
      {
        "apiName": "Description",
        "label": "Description",
        "type": "textarea"
      },
      {
        "apiName": "IsActive",
        "label": "Active",
        "type": "boolean"
      },
      {
        "apiName": "IsArchived",
        "label": "Archived",
        "type": "boolean",
        "createable": false,
        "updateable": false
      },
      {
        "apiName": "IsStandard",
        "label": "Standard Price Book",
        "type": "boolean",
        "createable": false,
        "updateable": false
      }
    ]
  },
  {
    "apiName": "Product2",
    "keyPrefix": "01t",
    "label": "Product",
    "pluralLabel": "Products",
    "tableType": "standard_object",
    "category": "crm",
    "sharingModel": "PublicRead",
    "enableHierarchySharing": false,
    "description": "Standard Salesforce Product object — catalog item used by price books, opportunities, quotes, and orders",
    "fields": [
      {
        "apiName": "Name",
        "label": "Product Name",
        "type": "string",
        "required": true,
        "isNameField": true
      },
      {
        "apiName": "ProductCode",
        "label": "Product Code",
        "type": "string"
      },
      {
        "apiName": "Description",
        "label": "Product Description",
        "type": "textarea"
      },
      {
        "apiName": "IsActive",
        "label": "Active",
        "type": "boolean"
      },
      {
        "apiName": "Family",
        "label": "Product Family",
        "type": "picklist",
        "options": [
          {
            "value": "None",
            "label": "None"
          }
        ]
      },
      {
        "apiName": "ExternalId",
        "label": "External ID",
        "type": "string"
      },
      {
        "apiName": "DisplayUrl",
        "label": "Display URL",
        "type": "url"
      },
      {
        "apiName": "StockKeepingUnit",
        "label": "Product SKU",
        "type": "string"
      }
    ]
  },
  {
    "apiName": "OpportunityLineItem",
    "keyPrefix": "00k",
    "label": "Opportunity Line Item",
    "tableType": "standard_object",
    "category": "crm",
    "sharingModel": "ControlledByParent",
    "enableHierarchySharing": false,
    "description": "Standard Salesforce Opportunity Line Item object — represents products sold in an opportunity",
    "displayNameField": "Product2Id",
    "fields": [
      {
        "apiName": "OpportunityId",
        "label": "Opportunity",
        "type": "reference",
        "required": true,
        "referenceTo": [
          "Opportunity"
        ],
        "relationshipName": "Opportunity",
        "childRelationshipName": "OpportunityLineItems"
      },
      {
        "apiName": "PricebookEntryId",
        "label": "Price Book Entry",
        "type": "reference",
        "required": true,
        "referenceTo": [
          "PricebookEntry"
        ],
        "validator": "runtime_scoped_lookup",
        "validatorConfig": "{\"filterMappings\":[{\"recordField\":\"OpportunityId\",\"sourceField\":\"Pricebook2Id\",\"targetField\":\"Pricebook2Id\"}]}",
        "relationshipName": "PricebookEntry",
        "childRelationshipName": "OpportunityLineItems"
      },
      {
        "apiName": "Product2Id",
        "label": "Product",
        "type": "reference",
        "referenceTo": [
          "Product2"
        ],
        "relationshipName": "Product2",
        "childRelationshipName": "OpportunityLineItems"
      },
      {
        "apiName": "Quantity",
        "label": "Quantity",
        "type": "double",
        "required": true
      },
      {
        "apiName": "UnitPrice",
        "label": "Unit Price",
        "type": "currency"
      },
      {
        "apiName": "TotalPrice",
        "label": "Total Price",
        "type": "formula",
        "createable": false,
        "updateable": false,
        "returnType": "currency",
        "formulaMode": "active",
        "formula": "Quantity * UnitPrice"
      },
      {
        "apiName": "Description",
        "label": "Description",
        "type": "textarea"
      },
      {
        "apiName": "ServiceDate",
        "label": "Service Date",
        "type": "date"
      },
      {
        "apiName": "ListPrice",
        "label": "List Price",
        "type": "currency"
      },
      {
        "apiName": "Discount",
        "label": "Discount",
        "type": "percent"
      }
    ],
    "managedRelationships": [
      {
        "fieldApiName": "OpportunityId",
        "parentObject": "Opportunity",
        "isSharingParent": true
      }
    ]
  },
  {
    "apiName": "QuoteLineItem",
    "keyPrefix": "0QL",
    "label": "Quote Line Item",
    "tableType": "standard_object",
    "category": "crm",
    "sharingModel": "ControlledByParent",
    "enableHierarchySharing": false,
    "description": "Standard Salesforce Quote Line Item — products on a quote; record-level access cascades from Quote.",
    "displayNameField": "Product2Id",
    "fields": [
      {
        "apiName": "QuoteId",
        "label": "Quote",
        "type": "reference",
        "required": true,
        "referenceTo": [
          "Quote"
        ],
        "relationshipName": "Quote"
      },
      {
        "apiName": "PricebookEntryId",
        "label": "Price Book Entry",
        "type": "reference",
        "required": true,
        "referenceTo": [
          "PricebookEntry"
        ],
        "validator": "runtime_scoped_lookup",
        "validatorConfig": "{\"filterMappings\":[{\"recordField\":\"QuoteId\",\"sourceField\":\"Pricebook2Id\",\"targetField\":\"Pricebook2Id\"}]}",
        "relationshipName": "PricebookEntry"
      },
      {
        "apiName": "Product2Id",
        "label": "Product",
        "type": "reference",
        "referenceTo": [
          "Product2"
        ],
        "relationshipName": "Product2"
      },
      {
        "apiName": "Quantity",
        "label": "Quantity",
        "type": "double",
        "required": true
      },
      {
        "apiName": "UnitPrice",
        "label": "Sales Price",
        "type": "currency",
        "required": true
      },
      {
        "apiName": "ListPrice",
        "label": "List Price",
        "type": "currency"
      },
      {
        "apiName": "TotalPrice",
        "label": "Total Price",
        "type": "currency"
      },
      {
        "apiName": "Subtotal",
        "label": "Subtotal",
        "type": "currency"
      },
      {
        "apiName": "Discount",
        "label": "Discount",
        "type": "percent"
      },
      {
        "apiName": "Description",
        "label": "Description",
        "type": "textarea"
      },
      {
        "apiName": "ServiceDate",
        "label": "Service Date",
        "type": "date"
      },
      {
        "apiName": "LineNumber",
        "label": "Line Number",
        "type": "autonumber"
      }
    ],
    "managedRelationships": [
      {
        "fieldApiName": "QuoteId",
        "parentObject": "Quote",
        "isSharingParent": true
      }
    ]
  },
  {
    "apiName": "OrderItem",
    "keyPrefix": "802",
    "label": "Order Product",
    "tableType": "standard_object",
    "category": "crm",
    "sharingModel": "ControlledByParent",
    "enableHierarchySharing": false,
    "description": "Standard Salesforce Order Product — products on an order; record-level access cascades from Order.",
    "displayNameField": "Product2Id",
    "fields": [
      {
        "apiName": "OrderId",
        "label": "Order",
        "type": "reference",
        "required": true,
        "referenceTo": [
          "Order"
        ],
        "relationshipName": "Order",
        "childRelationshipName": "OrderItems"
      },
      {
        "apiName": "PricebookEntryId",
        "label": "Price Book Entry",
        "type": "reference",
        "required": true,
        "referenceTo": [
          "PricebookEntry"
        ],
        "validator": "runtime_scoped_lookup",
        "validatorConfig": "{\"filterMappings\":[{\"recordField\":\"OrderId\",\"sourceField\":\"Pricebook2Id\",\"targetField\":\"Pricebook2Id\"}]}",
        "relationshipName": "PricebookEntry",
        "childRelationshipName": "OrderItems"
      },
      {
        "apiName": "Product2Id",
        "label": "Product",
        "type": "reference",
        "referenceTo": [
          "Product2"
        ],
        "relationshipName": "Product2"
      },
      {
        "apiName": "Quantity",
        "label": "Quantity",
        "type": "double",
        "required": true
      },
      {
        "apiName": "UnitPrice",
        "label": "Unit Price",
        "type": "currency",
        "required": true
      },
      {
        "apiName": "ListPrice",
        "label": "List Price",
        "type": "currency"
      },
      {
        "apiName": "TotalPrice",
        "label": "Total Price",
        "type": "currency"
      },
      {
        "apiName": "Description",
        "label": "Description",
        "type": "textarea"
      },
      {
        "apiName": "ServiceDate",
        "label": "Start Date",
        "type": "date"
      },
      {
        "apiName": "EndDate",
        "label": "End Date",
        "type": "date"
      },
      {
        "apiName": "OrderItemNumber",
        "label": "Order Product Number",
        "type": "autonumber"
      },
      {
        "apiName": "OriginalOrderItemId",
        "label": "Original Order Product",
        "type": "reference",
        "referenceTo": [
          "OrderItem"
        ],
        "relationshipName": "OriginalOrderItem",
        "childRelationshipName": "ChildOrderItems"
      }
    ],
    "managedRelationships": [
      {
        "fieldApiName": "OrderId",
        "parentObject": "Order",
        "isSharingParent": true
      }
    ]
  },
  {
    "apiName": "EmailMessage",
    "keyPrefix": "02s",
    "label": "Email Message",
    "pluralLabel": "Email Messages",
    "tableType": "standard_object",
    "category": "crm",
    "searchable": false,
    "sharingModel": "Private",
    "enableHierarchySharing": false,
    "description": "Minimum Salesforce-compatible outbound EmailMessage activity log for the connected Gmail MVP",
    "fields": [
      {
        "apiName": "ParentId",
        "label": "Case ID",
        "type": "reference",
        "updateable": false,
        "referenceTo": [
          "Case"
        ],
        "relationshipName": "Parent",
        "childRelationshipName": "EmailMessages"
      },
      {
        "apiName": "ActivityId",
        "label": "Activity ID",
        "type": "reference",
        "updateable": false,
        "referenceTo": [
          "Task"
        ]
      },
      {
        "apiName": "FromAddress",
        "label": "From Address",
        "type": "email"
      },
      {
        "apiName": "ToAddress",
        "label": "To Address",
        "type": "string"
      },
      {
        "apiName": "CcAddress",
        "label": "Cc Address",
        "type": "string"
      },
      {
        "apiName": "BccAddress",
        "label": "Bcc Address",
        "type": "string"
      },
      {
        "apiName": "Subject",
        "label": "Subject",
        "type": "string"
      },
      {
        "apiName": "TextBody",
        "label": "Text Body",
        "type": "textarea"
      },
      {
        "apiName": "HtmlBody",
        "label": "HTML Body",
        "type": "richtextarea"
      },
      {
        "apiName": "AttachmentIds",
        "label": "Attachment Ids",
        "type": "textarea"
      },
      {
        "apiName": "HasAttachment",
        "label": "Has Attachment",
        "type": "formula",
        "createable": false,
        "updateable": false,
        "returnType": "boolean",
        "formulaMode": "active",
        "formula": "NOT(ISBLANK(AttachmentIds))"
      },
      {
        "apiName": "Incoming",
        "label": "Is Incoming",
        "type": "boolean",
        "updateable": false
      },
      {
        "apiName": "Status",
        "label": "Status",
        "type": "picklist",
        "required": true,
        "options": [
          {
            "value": "0",
            "label": "New"
          },
          {
            "value": "1",
            "label": "Read"
          },
          {
            "value": "2",
            "label": "Replied"
          },
          {
            "value": "3",
            "label": "Sent"
          },
          {
            "value": "4",
            "label": "Forwarded"
          },
          {
            "value": "5",
            "label": "Draft"
          }
        ]
      },
      {
        "apiName": "MessageDate",
        "label": "Message Date",
        "type": "datetime"
      }
    ],
    "indices": [
      {
        "columns": [
          "ToAddress",
          "IsDeleted"
        ]
      }
    ]
  },
  {
    "apiName": "ContentDistribution",
    "keyPrefix": "05D",
    "label": "Content Distribution",
    "tableType": "standard_object",
    "category": "crm",
    "sharingModel": "Private",
    "description": "Salesforce standard Content Distribution source records used to resolve legacy CRM file links.",
    "fields": [
      {
        "apiName": "ContentVersionId",
        "label": "Content Version ID",
        "type": "string",
        "required": true
      }
    ]
  },
  {
    "apiName": "PricebookEntry",
    "keyPrefix": "01u",
    "label": "Price Book Entry",
    "tableType": "standard_object",
    "category": "crm",
    "sharingModel": "ControlledByParent",
    "enableHierarchySharing": false,
    "description": "Standard Salesforce Price Book Entry — links a Product2 to a Pricebook2; record-level access cascades from Pricebook2.",
    "fields": [
      {
        "apiName": "Name",
        "label": "Product Name",
        "type": "string",
        "isNameField": true,
        "createable": false,
        "updateable": false,
        "returnType": "string",
        "formulaMode": "active",
        "projection": {
          "kind": "lookupValue",
          "targetObject": "Product2",
          "selectField": "Name",
          "matches": [
            {
              "targetField": "Id",
              "sourceField": "Product2Id"
            }
          ],
          "excludeDeleted": true
        }
      },
      {
        "apiName": "Pricebook2Id",
        "label": "Price Book",
        "type": "reference",
        "required": true,
        "referenceTo": [
          "Pricebook2"
        ],
        "relationshipName": "Pricebook2",
        "childRelationshipName": "PricebookEntries"
      },
      {
        "apiName": "Product2Id",
        "label": "Product",
        "type": "reference",
        "required": true,
        "referenceTo": [
          "Product2"
        ],
        "relationshipName": "Product2",
        "childRelationshipName": "PricebookEntries"
      },
      {
        "apiName": "UnitPrice",
        "label": "List Price",
        "type": "currency",
        "required": true
      },
      {
        "apiName": "IsActive",
        "label": "Active",
        "type": "boolean"
      },
      {
        "apiName": "UseStandardPrice",
        "label": "Use Standard Price",
        "type": "boolean"
      },
      {
        "apiName": "ProductCode",
        "label": "Product Code",
        "type": "string"
      }
    ],
    "managedRelationships": [
      {
        "fieldApiName": "Pricebook2Id",
        "parentObject": "Pricebook2",
        "isSharingParent": true
      }
    ]
  },
  {
    "apiName": "IdentitySyncSetting",
    "keyPrefix": "0C1",
    "label": "Identity Sync Setting",
    "pluralLabel": "Identity Sync Settings",
    "tableType": "custom_object",
    "category": "crm",
    "sharingModel": "Private",
    "description": "Singleton L1 shape for the native SCIM identity-sync tenant policy. Its one `Name=\"default\"` record is authored by the deploying L2 pack; the L1 AppService is read-only and reads it through the dedicated SCIM service principal, never through a general user read or configuration UI. The CRM dialect closes every public standard REST mutation surface for this object, so the L2 package-apply path is the only authoring path. At most one row can exist: the UNIQUE constraint on Name blocks duplicates and the validation rule IdentitySyncSetting_Name_Must_Be_Default pins Name to \"default\". A complete record supplies provisioning profiles, service principal, exempt principals, circuit-breaker tuning, token lifetime, and optional locale defaults. There is no independent enable field: the AppService serves only when deployment placement is enabled and this L2 record is complete. There is no dept-to-profile mapping (the native path assigns one default profile).",
    "fields": [
      { "apiName": "Name", "label": "Name", "type": "string", "required": true, "isNameField": true, "unique": true },
      { "apiName": "DefaultProfileName", "label": "Default Profile", "type": "string" },
      { "apiName": "ServiceProfileName", "label": "Service Profile", "type": "string" },
      { "apiName": "ServiceUsername", "label": "Service Username", "type": "string" },
      { "apiName": "ExemptPrincipals", "label": "Exempt Principals", "type": "textarea" },
      { "apiName": "BreakerFailureThreshold", "label": "Breaker Failure Threshold", "type": "integer" },
      { "apiName": "BreakerCooldownSeconds", "label": "Breaker Cooldown Seconds", "type": "integer" },
      { "apiName": "TokenTtlHours", "label": "Token TTL Hours", "type": "integer" },
      { "apiName": "TimeZoneSidKey", "label": "Time Zone", "type": "string" },
      { "apiName": "LocaleSidKey", "label": "Locale", "type": "string" },
      { "apiName": "EmailEncodingKey", "label": "Email Encoding", "type": "string" },
      { "apiName": "LanguageLocaleKey", "label": "Language Locale", "type": "string" }
    ]
  },
  {
    "apiName": "IdentitySyncDeactivationTicket",
    "keyPrefix": "0C2",
    "label": "Identity Sync Deactivation Ticket",
    "pluralLabel": "Identity Sync Deactivation Tickets",
    "tableType": "custom_object",
    "category": "crm",
    "sharingModel": "Private",
    "description": "Internal reservation slots that bound the volume of SCIM-driven deactivations per time window ACROSS ALL REPLICAS (design section 6.1 layer 3). Each row is one claimed slot in an aligned window bucket; its Name is \"<bucket>:<slot>\" and carries a UNIQUE constraint, so at most `cap` slots can exist per bucket regardless of replica count — the database arbitrates the fleet-wide cap atomically. A custom object with default-deny object CRUD and Private sharing; the L1 AppService is the sole runtime writer through the dedicated SCIM service principal, and the object is never exposed to a general user read. Stale buckets may be removed administratively without affecting the current-window safety invariant. Not user-facing.",
    "fields": [
      { "apiName": "Name", "label": "Name", "type": "string", "required": true, "isNameField": true, "unique": true },
      { "apiName": "Bucket", "label": "Window Bucket", "type": "integer" },
      { "apiName": "Slot", "label": "Slot", "type": "integer" }
    ]
  },
  {
    "apiName": "CurrencyType",
    "keyPrefix": "01L",
    "label": "Currency Type",
    "pluralLabel": "Currency Types",
    "tableType": "standard_object",
    "category": "crm",
    "sharingModel": "PublicRead",
    "enableHierarchySharing": false,
    "description": "Standard Salesforce CurrencyType object — the org's enabled currencies with their static conversion rates. Deltas from the Salesforce describe, on purpose: IsoCode is a free-form string rather than a restricted picklist (the engine-level multi-currency semantics that would bind the value set are deferred per issue #552, and admins can extend the currency list without a pack edit), and DecimalPlaces declares a default of 2 (the value the Salesforce UI applies) because this platform enforces required fields at the API while Salesforce fills the value in its currency-management UI. IsoCode is unique and immutable after create, matching Salesforce.",
    "fields": [
      {
        "apiName": "IsoCode",
        "label": "Currency ISO Code",
        "type": "string",
        "required": true,
        "unique": true,
        "writeProtectionPolicy": "immutable_after_create"
      },
      {
        "apiName": "ConversionRate",
        "label": "Conversion Rate",
        "type": "double",
        "required": true
      },
      {
        "apiName": "DecimalPlaces",
        "label": "Decimal Places",
        "type": "integer",
        "required": true,
        "default": "2"
      },
      {
        "apiName": "IsActive",
        "label": "Active",
        "type": "boolean",
        "required": true,
        "default": "0"
      },
      {
        "apiName": "IsCorporate",
        "label": "Corporate Currency",
        "type": "boolean",
        "required": true,
        "default": "0"
      }
    ]
  },
  {
    "apiName": "DatedConversionRate",
    "keyPrefix": "04w",
    "label": "Dated Conversion Rate",
    "pluralLabel": "Dated Conversion Rates",
    "tableType": "standard_object",
    "category": "crm",
    "sharingModel": "PublicRead",
    "enableHierarchySharing": false,
    "description": "Standard Salesforce DatedConversionRate object — dated exchange-rate periods per currency. Periods are half-open [StartDate, NextStartDate); the latest period per currency stays open-ended (NextStartDate 9999-12-31). NextStartDate is platform-managed, matching the Salesforce describe (createable and updateable false): the chain is a function of the StartDate set, so callers supply only IsoCode, ConversionRate and StartDate — in any order — and Std_DatedConversionRateDefaultNextStart derives the end date on create while Std_DatedConversionRateCloseOnAppend truncates the period the new row splits. createable:false drops a supplied value before the flows run (Salesforce ignores it too); the write-protection policy is what still lets those pack-owned flows write the derived value while rejecting a caller's update. A duplicate (IsoCode, StartDate) pair is rejected before save; one period per currency per start date is the Salesforce dated-rate rule. The one deliberate delta from the describe: IsoCode is a free-form string rather than a restricted picklist, because the engine-level multi-currency semantics that would bind the value set are deferred. IsoCode and StartDate are immutable after create, matching the describe; correcting a mis-entered period means deleting and re-creating it, and restoring a soft-deleted row does not re-run create-time automation, so a restored period can reopen an overlap until the next append truncates it. ConversionRate stays editable.",
    "fields": [
      {
        "apiName": "IsoCode",
        "label": "Currency Code",
        "type": "string",
        "required": true,
        "writeProtectionPolicy": "immutable_after_create"
      },
      {
        "apiName": "ConversionRate",
        "label": "Exchange Rate",
        "type": "double",
        "required": true
      },
      {
        "apiName": "StartDate",
        "label": "Date",
        "type": "date",
        "required": true,
        "writeProtectionPolicy": "immutable_after_create"
      },
      {
        "apiName": "NextStartDate",
        "label": "Next Start Date",
        "type": "date",
        "createable": false,
        "writeProtectionPolicy": "immutable_after_create"
      }
    ]
  }
]
