ANC
Data ModelCapabilities

Opportunity fields

Every field on the Opportunity object.

Opportunity fields

Full field reference. Field IDs are used by dashboard widget filters, GraphQL queries, and bulk scripts.

Native CRM fields

FieldTypePurpose
nameTEXTDeal name
stageSELECTNEW / SCREENING / MEETING / PROPOSAL / CUSTOMER
amountCURRENCYRealized/recognized revenue
closeDateDATE_TIMEExpected or actual close
companyRELATIONFK to Company

ANC-added fields

FieldTypeField IDNotes
probabilityNUMBER22d629a50–100
proposalDueDateDATE_TIME65b6da7ePrimary sort for the proposal pipeline
substantialCompletionDateDATEf41a1659Backlog key date
paidAmountCURRENCYc592d989Finance
percentPaidNUMBER724c5d5a
accountExecutiveTEXT8ae86200Owner name (no seat issued)
accountExecutiveEmailTEXT037bae0d
marginCURRENCY44ea22b6amount − cost
revenue2026CURRENCY3741f86cFlat per-FY denorm
margin2026CURRENCY58096d7b
revenue2027CURRENCY3339789a
margin2027CURRENCYb60145ca
proposalStageSELECT0c4f3e5aRFP/SALES_LEAD/BAFO/LOI/EXISTING_CLIENT_BUDGET
prioritySELECT619db9a8PRIORITY_1_RFP/BEST_AND_FINAL/PRICING_COMPLETE
pricingCompleteBOOLEANf58790ecFlips TRUE on one-pager generation
pricingCompleteDateDATE_TIMEa8ae65dbAuto-stamped
technologyVendorPartnerTEXTad068a2aLG / Yaham / etc.
businessUnitSELECTd04948e5TECHNOLOGY/VENUE_SERVICES/MEDIA_SPONSORSHIP
leagueSELECT891db6b2Mirrors Company.league
bidStatusSELECTad436148ANC bid flow
dealValueCURRENCY6cbd4fc1What customer pays
rfpSourceSELECTWhere RFP came from

Relations

FieldPoints toType
companyCompanyMANY_TO_ONE
revenueSplitsOpportunityRevenueSplitONE_TO_MANY (reverse)
teamAllocationsOpportunityTeamAllocationONE_TO_MANY (reverse bcc340a7)
serviceTicketsServiceTicketONE_TO_MANY (reverse)
estimatesEstimateONE_TO_MANY (reverse)

Tab layout (Opportunity detail page)

Layout ID: c98edd03

PosTab
10Overview
20Notes
30Tasks
40Files
80Revenue Splits
81Estimates
80Team Allocations (tab id 426a229c)
Tickets (backfilled only for WON opps)

Bulk update pattern

GraphQL supports batch updates with filter. Example — set bidStatus = WON for a list of opp IDs:

mutation {
  updateOpportunities(
    data: {bidStatus: "WON"},
    filter: {id: {in: ["uuid1","uuid2","uuid3"]}}
  ) { affectedCount }
}

Cap: 200 records per call. For more, chunk.

On this page