APN field mapping
This page lists which HubSpot deal value goes to which field of the Partner Central opportunity, and which side owns it. Use it when a value on the deal and in Partner Central do not match, or when you plan which fields your team fills in.
Who owns a field
| Owner | Meaning |
|---|---|
| HubSpot | FlowState sends the value from the deal to AWS. A change in AWS never overwrites the deal. If AWS changes a watched field, FlowState adds a note to the deal instead. |
| AWS | FlowState copies the value from AWS to the deal. Do not edit it in HubSpot: the next update from AWS overwrites it. |
| Both | Either side can change the value. If only one side changed it, the other side gets the change. If both sides changed it to different values, see Conflicts & resolution. |
Standard HubSpot deal properties
| HubSpot property | Partner Central field | Owner | Notes |
|---|---|---|---|
Deal name (dealname) | Project.Title | HubSpot | Required. |
Close date (closedate) | LifeCycle.TargetCloseDate | Both | Must be in the future for an open opportunity. |
Deal stage (dealstage) | LifeCycle.Stage | HubSpot | Translated through your stage mapping. When AWS moves the stage, FlowState adds a note and does not change the deal stage. |
Next step (hs_next_step) | LifeCycle.NextSteps | HubSpot | See Next steps. |
| Associated contacts | Customer.Contacts | HubSpot | Up to 10 contacts, with email, name, job title and phone. Sent while the opportunity can still be edited. After submission, AWS keeps the contacts it has. |
Deal owner (hubspot_owner_id) | OpportunityTeam | HubSpot | Sent once, when FlowState creates the opportunity. A later owner change does not reach AWS. |
FlowState deal properties
Provision properties on Settings → Integrations → HubSpot creates these properties in the FlowState APN group.
| HubSpot property | Partner Central field | Owner |
|---|---|---|
APN Sync with AWS enabled (apn_sync_with_aws_enabled) | none. Marks a deal for APN sync. | HubSpot |
APN Opportunity ID (apn_opportunity_id) | The opportunity ID | AWS |
APN Sync Status (apn_sync_status) | none. The FlowState sync status. | FlowState |
APN Review Status (apn_review_status) | LifeCycle.ReviewStatus | AWS |
APN Lifecycle Stage (apn_lifecycle_stage) | LifeCycle.Stage | Both. A copy of the current stage. |
APN Closed Lost Reason (apn_closed_lost_reason) | LifeCycle.ClosedLostReason | HubSpot |
APN Business Problem (apn_business_problem) | Project.CustomerBusinessProblem | HubSpot |
APN Postal Code (apn_postal_code) | Customer.Account.Address.PostalCode | Both |
APN AWS Account ID (apn_aws_account_id) | Customer.Account.AwsAccountId | HubSpot. AWS accepts it on an approved opportunity only when the stage moves to Launched. |
APN MRR (apn_mrr) | ExpectedCustomerSpend.Amount (monthly) | Both. See Monthly spend. |
apn_invitation_id | none. The ID of an AWS co-sell invitation. | AWS. Set on deals that FlowState created from an invitation. |
Fields on the FlowState card
Sellers fill in these fields on the Prepare the Deal for APN tab of the FlowState card. They are stored in FlowState, not as HubSpot properties.
| Card field | Partner Central field | Notes |
|---|---|---|
| Partner need from AWS | PrimaryNeedsFromAws | At least one value is required to submit. |
| Use case | Project.CustomerUseCase | Watched. |
| Delivery model | Project.DeliveryModels | Watched. |
| Sales activity | Project.SalesActivities | Watched. |
| State or region | Customer.Account.Address.StateOrRegion | |
| Industry | Customer.Account.Industry | Watched. Always shown. FlowState fills it in when it can: from the deal, from the associated company when that value is a valid AWS industry, or with an AI suggestion. You can change it. |
| Country | Customer.Account.Address.CountryCode | Read-only. Taken from the associated HubSpot company. |
| Currency | ExpectedCustomerSpend.CurrencyCode | |
| Expected monthly spend | ExpectedCustomerSpend.Amount | The same value as the APN MRR property. See Monthly spend. |
| Postal code | Customer.Account.Address.PostalCode | Read-only on the card. Edit the APN Postal Code property. |
| Website | Customer.Account.WebsiteUrl | Read-only. Taken from the associated HubSpot company. |
| Submission type | Involvement type and visibility of the submission | Used when the opportunity is submitted. |
Except for the monthly spend, all card fields are owned by HubSpot. When FlowState creates a deal from an AWS opportunity, it fills these fields from the opportunity.
Monthly spend
AWS wants the expected monthly spend. If APN MRR is empty on the deal, FlowState calculates it from the HubSpot Amount. You choose how, under HubSpot to APN Revenue on Settings → Integrations → APN:
| Setting | Monthly spend sent to AWS |
|---|---|
| Not set | Amount divided by the deal’s contract term (12 months when there is none). |
| HS Amount is APN MRR | Amount, unchanged. |
| HS Amount is yearly revenue | Amount divided by 12. |
| Enter your own divider | Amount divided by your number. |
AWS never changes the HubSpot Amount. When AWS changes the expected spend, FlowState updates APN MRR instead.
Next steps
| Direction | Where you see it | Partner Central field |
|---|---|---|
| HubSpot to AWS | The deal’s Next step property | LifeCycle.NextSteps |
| AWS to HubSpot | A note on the deal timeline, and the Next steps tab of the card | AWS’s own next step |
FlowState sends your next step only when it changed. AWS allows at most 255 characters. FlowState does not shorten a longer text: it does not send it, and adds a note that says how much to cut. If AWS has the opportunity locked for review, FlowState sends the next step when the lock ends.
AWS-side changes on watched fields
AWS sometimes changes an opportunity after it exists. For these fields, each change creates one AWS updated this opportunity note on the deal:
| Field | Written to the deal? |
|---|---|
| Close date | Yes, unless you also changed it (see Conflicts) |
| APN MRR | Yes, unless you also changed it |
| Postal code | Yes, unless you also changed it |
| AWS review comments | No, note only |
| Use case, sales activity, delivery model, industry | No, note only. You decide whether to copy the value. |
The note has two groups: Updated on your deal (no action needed) and Left as AWS’s own data (copy the value yourself if you want it). FlowState writes a note only when a value really changed, not the first time it reads a field.
Review status and stage changes have their own notes.
Deal stage mapping
Partner Central has seven stages: Prospect, Qualified, Technical Validation, Business Validation, Committed, Launched and Closed Lost. You map each stage of each HubSpot pipeline to one of them. FlowState does not map anything by itself.
A deal in a stage that is not mapped does not sync. The card shows the error
STAGE_UNMAPPED. After you map the stage, the deal syncs at its next change.
To map stages:
- Go to Settings → Integrations → APN and click Stage mapping.
- On the Stage Mapping page, choose a Partner Central stage for each HubSpot stage. Each pipeline shows how many of its stages are mapped.
- Click Save mapping.
Over MCP, use get_apn_stage_mapping, set_apn_stage_mapping and clear_apn_stage_mapping.
Example for the default HubSpot sales pipeline:
| HubSpot stage | Partner Central stage |
|---|---|
| Appointment scheduled | Prospect |
| Qualified to buy | Qualified |
| Presentation scheduled | Technical Validation |
| Decision maker bought-in | Business Validation |
| Contract sent | Committed |
| Closed won | Launched |
| Closed lost | Closed Lost |