# AWS Partner Central Leads

Accept the leads AWS Partner Central sends you, create leads from your Salesforce Accounts, and qualify, edit, and convert them.

---

## Overview

A **lead** is an earlier-stage prospect than an ACE opportunity. AWS invites you to a lead it
has sourced; you accept or reject the invitation, work the prospect through a qualification
funnel, and — once it is genuinely qualified — convert it into a co-sell opportunity that
follows the normal [referral lifecycle](/cosell/cosell-status/).

Leads are **AWS-only**, and they reach Fours in one of two ways:

| Origin | How the lead starts | **Lead source** on the lead page |
| --- | --- | --- |
| **AWS invitation** | AWS invites you to a lead it has sourced, and you accept or reject it. | `AWS` |
| **Lead enrichment** | Fours submits one of your Salesforce Accounts to AWS, which creates the lead and returns what it knows about the company. See [Create Leads from Salesforce Accounts](#create-leads-from-salesforce-accounts). | `Salesforce Account (enrichment)` |

Both kinds share the lead list and the same qualify, edit, and convert steps. Only an AWS invitation
has to be accepted first: a lead created by enrichment starts out accepted.

## Where to Find Leads

Leads live in the co-sell referrals list, under AWS:

1. Open the co-sell referrals list in the [Fours Console](https://console.suger.io).
2. Pick **Lead**, one of three AWS views alongside **ACE opportunity** and **Engagement invitation**.
   Where you find it depends on how many cloud partners your organization has:
   - **More than one cloud partner:** hover over the **AWS** chip in the partner filter, then pick
     **Lead**.
   - **AWS is your only cloud partner:** there is no partner chip group. Pick **Lead** in the
     three-option control next to the search box.

The list switches to the lead table. Click any row to open the lead detail page.

Clicking the selected option again clears it. The same controls stay on the lead table's toolbar,
so you can switch back to ACE opportunities or engagement invitations at any time.

:::note
The **Lead** option appears only on the co-sell referrals list. It is not offered in the
Partner Management (PRM) view of the same table, because leads are an AWS relationship rather
than a partner-to-partner one.
:::

### Lead list columns

| Column | What it shows |
| --- | --- |
| **Name** | The lead's name, as AWS supplies it. |
| **Cloud Partner** | Always `AWS`. |
| **Company** | The prospect's company name. |
| **Invitation Status** | Where the AWS invitation stands: `PENDING`, `ACCEPTED`, `REJECTED`, or `EXPIRED`. |
| **Qualification** | How far you have worked the prospect — see [Qualify the lead](#qualify-the-lead). |
| **Readiness Score** | The AWS lead readiness score from the lead's AI insights. |
| **Status** | The single unified status that folds the two axes above together — see [Lead statuses](#lead-statuses). |
| **Expiration** | When the invitation lapses if you do not act on it. |
| **Creation Time** | When the lead was created. |

Use the **Columns** control to show or hide any of them.

## The Lead Lifecycle

```d2
direction: down
pending: "PENDING\ninvitation from AWS"
decide: "Accept or reject?" { shape: diamond }
rejected: "REJECTED\nreason required"
expired: "EXPIRED\ninvitation lapsed"
enriched: "Created from a Salesforce Account\nby lead enrichment"
accepted: "ACCEPTED"
qualify: "Set qualification\nUnqualified · Open · Research\nQualified · Disqualified"
gate: "Qualification = Qualified?" { shape: diamond }
blocked: "Convert to Opportunity\nstays disabled"
converted: "CONVERTED\nco-sell opportunity created"

pending -> decide
decide -> accepted: "Accept\nqualification starts at Unqualified"
decide -> rejected: "Reject"
pending -> expired: "no action before expiration"
enriched -> accepted: "no invitation\nqualification starts at Open"
accepted -> qualify
qualify -> gate
gate -> blocked: "no"
blocked -> qualify: "keep working the prospect"
gate -> converted: "yes — Convert to Opportunity"
```

## Accept or Reject an Invitation

While the invitation status is `PENDING`, the lead detail page offers two actions:

- **Accept** — takes the lead. The invitation status becomes `ACCEPTED` and AWS sets the
  qualification to `Unqualified` to start the funnel.
- **Reject** — declines the lead. In the Fours Console a **reason is required**: the Reject
  button in the dialog stays disabled until you enter one. (Working the same lead from the
  Salesforce app, the reason is optional — see
  [Work AWS Co-Sell Leads](/salesforce-app/salesforce-app-leads/).)

If you act on neither, the invitation lapses at its **Expiration** date and the lead becomes
`EXPIRED`.

A lead created by [lead enrichment](#create-leads-from-salesforce-accounts) has no invitation, so
it never offers **Accept** or **Reject**. It opens already `ACCEPTED`.

## Qualify the Lead

Once a lead is `ACCEPTED`, the detail page header shows a **Qualification** picker. Setting it
is what moves the lead down the funnel:

| Qualification | Meaning |
| --- | --- |
| **Unqualified** | The AWS default the moment you accept. Nothing has been worked yet. |
| **Open** | You have picked the prospect up. |
| **Research** | You are actively investigating fit. |
| **Qualified** | The prospect is a real opportunity. **This is the only value that unlocks conversion.** |
| **Disqualified** | Not a fit — the lead stops here. |

Changing the picker writes the new value to AWS. Fours stores it locally only after AWS accepts
the write, so a rejected update can never leave Fours showing a qualification AWS does not have.

:::note
AWS treats the qualification as a free-text field capped at **255 characters**, not a strict
enum, so a lead can arrive carrying a value outside the five above. Fours displays whatever AWS
sent, and the picker lists that value alongside the five. An update to an accepted lead has to
change something: the qualification, the company details on the [Edit lead](#edit-a-lead) page, or
both. An update with neither is rejected with
`an accepted lead update must carry a qualificationStatus, a customer patch, or both`, and a
qualification over the cap with `qualificationStatus exceeds the 255-character limit`.
:::

You can also use **Link With CRM** to attach the lead to an existing CRM record before
converting it.

## Edit a Lead

Once a lead is `ACCEPTED`, click **Edit** in the lead page header to open the **Edit lead** page and
correct what AWS holds about the prospect. It has two sections:

| Section | What you can change |
| --- | --- |
| **Company details** | **Customer company name** (AWS allows up to 120 characters), **Customer website**, **Industry** (from AWS's industry list), **Market segment** (`Enterprise`, `Large`, `Medium`, `Small`, or `Micro`), **AWS maturity** (free text), and **Country**. |
| **Lead qualification** | The **Qualification state**: `Unqualified`, `Disqualified`, `Qualified`, or **Other** — your own description of 1 to 255 characters, sent to AWS as the qualification. A lead whose qualification is outside the first three, such as `Open` or `Research`, opens on **Other** with its value filled in. |

Click **Save lead** to send the change to AWS. Before you save:

- **What you empty is cleared at AWS.** The page sends every field, so emptying **Customer
  website** or **AWS maturity** removes that value from the lead. The company name can't be
  emptied: AWS requires one.
- **A stale page is refused.** The page remembers the version of the lead it opened. If the lead
  changed at AWS since then, the save is rejected with
  `this lead changed at AWS since the form was opened, so the edit was not applied; reload the lead and re-apply the change`.
  Reopen the lead, make your change again, and save.
- **Sync first if the page asks.** A lead that has no version from AWS yet can't be edited safely.
  Use **Sync** on the lead page, then edit again.
- **The contact isn't edited here.** The person on a lead belongs to its interactions, which record
  what happened rather than a record to revise.

Only an accepted lead can be edited. For one that is still `PENDING`, accept the invitation first.

## Convert to an Opportunity

**Convert to Opportunity** turns the lead into a co-sell opportunity that then follows the
normal referral lifecycle. The button is enabled only when every one of these holds:

- The invitation status is `ACCEPTED` — otherwise: `only an accepted lead can be converted`.
- The lead has not already been converted — otherwise: `lead is already converted`.
- The qualification is exactly **Qualified** — otherwise: `lead must be Qualified to convert`.

After a successful conversion the lead's status becomes `CONVERTED` and the new referral appears
in the co-sell list.

## Lead Statuses

The **Status** column collapses the invitation status, the qualification, and whether the lead
has been converted into one value:

| Status | When you see it |
| --- | --- |
| `PENDING_ACCEPTANCE` | The invitation is still `PENDING`. |
| `REJECTED` | You rejected the invitation. |
| `EXPIRED` | The invitation lapsed before you acted. |
| `OPEN` | Accepted, and the qualification is `Unqualified`, `Open`, or a value Fours does not recognise. |
| `RESEARCH` | Accepted, qualification `Research`. |
| `QUALIFIED` | Accepted, qualification `Qualified` — ready to convert. |
| `DISQUALIFIED` | Accepted, qualification `Disqualified`. |
| `CONVERTED` | Converted into a co-sell opportunity. |
| `DELETED` | The lead was deleted. |

## The Lead Detail Page

The lead page mirrors AWS Partner Central's own lead page, block for block. Its header shows the
lead's name, invitation status, and status, with the actions that apply:

| When | Actions |
| --- | --- |
| Invitation `PENDING` | **Accept**, **Reject** |
| `ACCEPTED` | **Qualification** picker, **Link With CRM**, **Edit**, **Convert to Opportunity** |
| Any state | **Detail** (the raw lead record) and **Sync** (re-pull the lead from AWS) |

Below the header:

| Block | What it shows |
| --- | --- |
| **Source record** | Only on a lead created by enrichment: the Salesforce object and record ID it was built from. |
| **Lead details** | Lead ID, qualification state, **Lead source** (`AWS` or `Salesforce Account (enrichment)`), creation date, and target close date. |
| **Company details** | Company, contact name, country, website, email, AWS maturity, industry, phone, and market segment. |
| **Lead enrichment** | What AWS returned about the prospect. See [Lead enrichment and AWS insights](#lead-enrichment-and-aws-insights). |
| **Interactions** | Each interaction AWS recorded, with a search box: name, date, lead source, customer action, and use case. Click an interaction's name for its business problem and the contact behind it. |
| **Linked CRM Record** | The Salesforce opportunity or HubSpot deal attached with **Link With CRM** and, once the lead is converted, a link to the converted referral. |

### Lead enrichment and AWS insights

The **Lead enrichment** block leads with AWS's scores:

| Field | What it tells you |
| --- | --- |
| **Readiness** | The AWS lead readiness score. |
| **AWS Marketplace solution score** | The solution category and sub-category AWS matched, shown with how strong the match is — for example, `High propensity`. |
| **Expiration** | When the invitation lapses. |

When AWS has returned an enrichment result for the lead, an **AWS insights** section opens under
them with AWS's view of the customer: account name, geography, marketplace engagement score,
industry, region, program eligibility, sub-industry, sub-region, segment, company size, country,
and a public profile summary. A lead AWS has not enriched shows no AWS insights section, and a
field AWS did not populate is blank.

## How Leads Reach Fours

Fours pulls leads from AWS Partner Central on a schedule, **every three hours** — at 01:30,
04:30, 07:30, 10:30, 13:30, 16:30, 19:30, and 22:30 UTC. The lead sweep is deliberately offset
by 30 minutes from the referral inbound sync so the two do not start at the same moment.

What you change on a lead — accept, reject, qualification, an edit — is pushed to AWS as you do
it rather than on a schedule. The one scheduled run in the other direction is
[lead enrichment](#create-leads-from-salesforce-accounts), which creates new leads from your
Salesforce Accounts once a day at 03:15 UTC while its automation is on.

To pull immediately instead of waiting, use the **Inbound Sync** button above the lead table. That
manual run is a **full sync** — it re-reads every lead rather than only what changed recently, so
it is the way to recover a lead the scheduled run missed.

Leads sync on their own track, independent of the [referral inbound sync](/cosell/cosell-syncing/):
running one does not run the other.

## Create Leads from Salesforce Accounts

**Lead enrichment** turns your Salesforce Accounts into AWS leads. Fours submits an Account to AWS
Partner Central, AWS creates a lead for it and returns what it knows about the company, and the
lead joins your lead list next to the ones AWS sends. It is AWS-only and reads from Salesforce only.

```d2
shape: sequence_diagram
salesforce: "Your Salesforce"
suger: Fours
aws: "AWS Partner Central"
suger -> salesforce: "Daily at 03:15 UTC: read the Accounts your sync filter selects"
salesforce -> suger: "Account fields and each Account's contacts" { style.stroke-dash: 4 }
suger -> suger: "Skip Accounts already submitted, pick the contact, check the required inputs"
held: "if an Account can't be submitted" {
  suger -> suger: "Count it as not submitted, with the reason. Nothing is sent to AWS"
}
sent: "for every other Account" {
  suger -> aws: "Create the lead and ask AWS to enrich it"
  aws -> suger: "Enrichment result, or no data" { style.stroke-dash: 4 }
  suger -> suger: "Add the lead to your lead list: ACCEPTED, qualification Open"
}
```

Before you start, connect [Salesforce](/integrations/salesforce/) and your
[AWS Partner Central (ACE) integration](/integrations/aws-partner-network-api/). Fours checks
the mapping against your live Salesforce schema when you save it, so a mapping can't be saved while
Salesforce is unreachable. AWS also decides whether your Partner Central account may create leads
this way. If it doesn't, each Account is refused with `PARTNER_LEAD_CREATION_NOT_ENABLED` until the
capability is enabled on the AWS side.

### Open the mapping

1. In the [Fours Console](https://console.suger.io), go to **Settings > Co-sell** and scroll to
   **Lead Enrichment Mapping Configs**, the last section on the page.
2. On the **Salesforce Account → AWS Lead** card, click **Configure** — or **Edit**, once a mapping
   is saved.
3. Set up the **Field Mapping** and **Sync Filter** tabs described below, then click **Save**.

The card's badge shows where things stand: **Not configured**, **Automation off** (saved, but
nothing runs on a schedule), or **Automation on**. **History** lists every change to the mapping.

### Map the Account fields

On the **Field Mapping** tab, each AWS input reads a field on the Salesforce Account. For each row,
choose **CRM field** and pick an Account field, or choose **Fixed value** and type what to send for
every Account. A blank row reads the input's standard Account field:

| AWS input | Required | Standard Account field |
| --- | --- | --- |
| Company Name | Yes | `Name` |
| Website URL | Yes — CRM field only | `Website` |
| Industry | Yes | `Industry` |
| Country Code | Yes | `BillingCountry` |
| State or Region | When the country is US | `BillingState` |
| City | No | `BillingCity` |
| Postal Code | No | `BillingPostalCode` |
| Phone | No — the company switchboard, not a person's line | `Phone` |
| Use Case | No | none |
| Business Problem | No | none |

- **A new mapping starts filled in.** Each row starts on its standard field, or, for company name,
  website, industry, and country, on the custom field your **Account Mapping Configs** already name.
- **Website URL can't be a fixed value.** Fours matches each contact's email domain against it, so
  it has to be read from each Account.
- **Country needs a two-letter code.** AWS accepts ISO 3166-1 alpha-2 codes. Fours converts a name
  such as `United States`, or a code such as `USA`, to `US`; an Account whose country it can't
  convert is not submitted.
- **Row ID is fixed.** AWS keys each lead on the Salesforce record ID, which Fours always sends.

A row takes a field or a fixed value, not both. When you save, Fours lists every problem at once
under **Cannot save**, and anything it could not check under **Saved, with things we could not
check**.

### Where the person on the lead comes from

AWS requires a named contact on every lead: first name, last name, email, and business title, with
phone optional. A Salesforce Account holds no person, so these aren't mapped. Fours uses the **most
recently active contact on the Account whose email domain matches the Account website**, and the
most recently created one when several tie.

The domain match is exact: a contact at `partner.acme.com` is not treated as an employee of
`acme.com`. An Account with no website, no contacts with an email address, or no contact at a
matching domain is skipped and counted. It is never submitted with a guessed person.

To name the person yourself, set **Primary contact field** to a Lookup-to-Contact field on the
Account. Salesforce has no standard one, so pick whichever field your org uses. Where that field has
a value, its contact is used as-is and the domain rule doesn't apply. It must still be a contact on
the same Account, with an email address; otherwise it is ignored, and the domain rule picks the
person instead. The Account still needs a website: without one it isn't submitted, even with a
primary contact.

### Translate industry values

AWS accepts a fixed list of industries. The **Industry Value Mapping** card maps each value of your
Salesforce industry field to one of AWS's, and it starts filled in for Salesforce's standard
Industry picklist. Add a row for any other active value your field offers: a value in use with no
translation blocks the save, so no Account is sent with an industry AWS would reject.

### Choose which Accounts to submit

On the **Sync Filter** tab, write the Salesforce condition that selects which Accounts to submit —
the condition only, for example `Type = 'Prospect' AND CreatedDate = LAST_N_DAYS:90`. Fours builds
the query itself and reads the fields your mapping names. Relationship fields such as
`Account.Industry` aren't supported, and the condition can't carry its own `SELECT`, `FROM`,
`ORDER BY`, or `LIMIT`. **Which date literals can I use?**, above the box, lists the Salesforce
date literals you can use.

Click **Validate** to run the filter read-only against Salesforce. It reports how many Accounts
match, with a sample of their IDs, and submits nothing.

The readiness panel at the top of the page tells you whether the scheduled run would work, without
a save: **Ready to run**, or how many required inputs have nothing behind them and how many industry
values have no translation. After **Validate**, it also counts how many of the most recently created
matching Accounts can't be submitted, and why:

| Reason | What to fix in Salesforce |
| --- | --- |
| No website on the account | Add the Account's website. Fours needs it to match a contact. |
| No contacts with an email address | Add a contact with an email address to the Account. |
| No contact whose email domain matches the website | Add a contact at the Account's own domain, or set a **Primary contact field**. |

### Turn on automation

The **Automation** switch, **Automatically create AWS leads from this filter**, is off by default.
Saving or validating a filter never creates anything; this switch is the only thing that does.

While it is on, Fours runs once a day at **03:15 UTC** and submits the Accounts your filter selects:

- **The scheduled run submits each Account once.** An Account whose enrichment already finished is
  skipped, whatever the outcome, so turning automation off and on again never resubmits it.
- **Up to 500 Accounts per organization per run.** A larger backlog carries over to the next day's
  run.
- **An empty filter selects nothing.** It is never read as "every Account".

Nothing re-enriches an Account automatically. To enrich a single Account on demand, even with
automation off, or to re-enrich one once 30 days have passed since its last enrichment, use the
Fours widget in Salesforce. See [Work AWS Co-Sell Leads](/salesforce-app/salesforce-app-leads/).

An on-demand request for an Account that has no lead yet is checked before anything is sent to
AWS, against the same input rules as the scheduled run: the company details, the country code, the
state of a US Account, the industry translation, and the contact's name, email, and business title
— the first six reasons under [What each Account becomes](#what-each-account-becomes). An Account
that fails one is refused at once, with the reason shown in the widget as
`this account cannot be submitted: …`, instead of starting an enrichment that never produces a
lead. Re-enriching an Account that already has a lead skips these six checks, because it works the
existing lead rather than creating one; the Account still needs a contact Fours can pick (see
[Where the person on the lead comes from](#where-the-person-on-the-lead-comes-from)).

### What each Account becomes

A submitted Account becomes a lead that starts `ACCEPTED` with qualification `Open`, so you can
qualify, edit, and convert it straight away. Its **Lead source** reads
`Salesforce Account (enrichment)`, and its **Source record** block names the Account it came from.

To see what happened to each Account, open **Metrics > Logs** and set **Workflow Type** to **Lead
Enrichment**. Each Account the run submits has its own row, with one of these outcomes:

| Outcome | What it means |
| --- | --- |
| **Enriched** | AWS returned intelligence for the company. It appears in the lead's **Lead enrichment** block. |
| **No data** | AWS completed the enrichment but had nothing on this company. |
| **Failed** | AWS's enrichment task failed or did not finish. |
| **Rejected** | The Account was refused before a lead was created, for the reason shown. |

A rejection names its reason:

| Reason | What it means | What to do |
| --- | --- | --- |
| **Incomplete company details** | The Account has no company name, website, or country. | Fill them in, or map other fields. |
| `UNTRANSLATED_COUNTRY_VALUE` | The country isn't a two-letter code, and Fours can't convert it to one. | Map a country-code field, or set a fixed value. |
| **State required for US** | A US Account has no state or region. | Fill in the Account's state. |
| **Industry has no AWS equivalent** | The Account's industry has no translation. | Add it to **Industry Value Mapping**. |
| **Incomplete contact details** | The contact Fours picked has no first name, last name, or email. | Complete the contact in Salesforce. |
| **Required field not mapped** | The contact Fours picked has no business title, which AWS requires. | Add the contact's title in Salesforce. |
| `PARTNER_LEAD_CREATION_NOT_ENABLED` | AWS doesn't allow your Partner Central account to create leads. | Ask AWS to enable it. |
| `ENGAGEMENT_ALREADY_EXISTS` | AWS already holds a lead for this Account, but Fours has none. | Leave the Account out of the filter, or contact [support@suger.io](mailto:support@suger.io). |
| **Already enriched** | The Account already has a lead from enrichment. | Nothing to fix. |

### Older mappings and deleting a mapping

- **A mapping saved before the Account source.** Lead enrichment used to read Salesforce Leads and
  Contacts. If your organization saved a mapping then, the section shows **Your saved mapping
  predates the Account source**: the old mapping is kept but no longer used, and scheduled
  enrichment doesn't run until you save an Account mapping.
- **Deleting the mapping** stops scheduled enrichment, and enrichment from Salesforce is refused
  until a mapping exists again.

## Related

- [Work AWS Co-Sell Leads](/salesforce-app/salesforce-app-leads/) — the same lifecycle worked
  from the **Leads V2 (Suger)** tab in Salesforce, without leaving your CRM.
- [Inbound Referral](/cosell/cosell-inbound/) — accepting the ACE opportunities AWS sends,
  which is where a converted lead ends up.
- [Status & Stage](/cosell/cosell-status/) — the unified statuses a converted lead's referral
  moves through.
- [Co-Sell Fields in ACE](/cosell/cosell-ace-fields/) — the AWS fields on the resulting
  opportunity.
- [Configuration](/cosell/cosell-configuration/#three-different-enrichment-features) — how lead
  enrichment differs from Auto-Enrich Referrals and CRM intelligence-signal enrichment.
