Newer Version Available
Network
This type extends the Metadata metadata type and inherits its fullName field.
Declarative Metadata File Suffix and Directory Location
Network components are stored in the networks directory of the corresponding package directory. The file name matches the site name, and the extension is .network.
Version
This object is available in API version 28.0 and later.
Fields
Branding
Represents the branding and color scheme applied to the Experience Cloud site. Available in API version 40.0 and earlier. Replaced by NetworkBranding in API version 41.0 and later.
CommunityRoles
The labels used to identify users with Customer, Partner, or Employee roles in an Experience Cloud site. Available in API version 41.0 and later.
| Field | Field Type | Description |
|---|---|---|
| customerUserRole | string | The label for the Customer user role. |
| employeeUserRole | string | The label for the Employee user role. |
| partnerUserRole | string | The label for the Partner user role. |
NetworkAuthApiSettings
Represents the settings that control enablement, access, and security for the Headless Registration Flow, Headless Forgot Password Flow, Headless Passwordless Login Flow, and their associated APIs. Available in API version 60.0 and later.
| Field | Field Type | Details |
|---|---|---|
| doesForgotPasswordRequireAuth | boolean | Determines whether authentication is required to access Headless Forgot Password API when a password reset is requested. If true, an access token issued to an internal integration user in your initial POST request to the /services/auth/headless/forgot_password endpoint is required. The access token must include the forgot_password scope. |
| doesPasswordLoginRequireAuth | boolean | Determines whether reCAPTCHA is required for headless username-password login that uses the OAuth 2.0 for First-Party Applications draft protocol. |
| doesPwdlessLoginRequireAuth | boolean | Determines whether authentication is required to access Headless Passwordless Login API when user information is submitted to Salesforce. If true, an access token issued to an internal integration user is required in your initial POST request to the /services/auth/headless/init/passwordless/login endpoint. The access token must include the pwdless_login_api scope. |
| doesRegistrationRequireAuth | boolean | Determines whether authentication is required to access Headless Registration API when user registration information is submitted to Salesforce. If true, an access token issued to an internal integration user in your initial POST request to the /services/auth/headless/init/registration endpoint is required. The access token must include the user_registration_api scope. |
| emailTmplsAllowlist | NetworkEmailTmplAllowlist[] | The email template allowlist for the Headless Registration Flow, Headless Passwordless Login Flow, and Headless Forgot Password Flow. The allowlist defines which email templates can be used for verification emails sent to end users during these flows. |
| headlessDiscoveryExecutionUser | Id | An integration user account to run a headless user discovery Apex handler. |
| headlessDiscoveryHandler | string | An Apex class that implements the Auth.HeadlessUserDiscoveryHandler interface. |
| isFirstPartyAppsAllowed | boolean | Determines whether the Experience Cloud site can use headless identity flows that use the OAuth 2.0 for First-Party Applications draft protocol. |
| isForgotPwdAllowed | boolean | Determines whether the Headless Forgot Password Flow is enabled. |
| isForgotPwdEmailTemplateAllowlistingEnabled | boolean | Determines whether email template allowlisting is enabled for the Headless Forgot Password Flow. If true, the emailtemplate parameter in the initial request to Headless Forgot Password API can include only allowlisted email templates. |
| isHeadlessUserRegistrationAllowed | boolean | Determines whether the Headless Registration Flow is enabled. |
| IsPwdlessLoginAllowed | boolean | Determines whether the Headless Passwordless Login Flow is enabled (true) or not (false). |
| isRecaptchaRequiredForgotPwd | boolean | Determines whether a reCAPTCHA token is required to access Headless Forgot Password API when a password reset is requested. If true, a reCAPTCHA token is required in your initial POST request to the /services/auth/headless/forgot_password endpoint. |
| isRecaptchaRequiredPwdlessLogin | boolean | Determines whether a reCAPTCHA token is required to access Headless Passwordless Login API when user information is submitted to Salesforce. If true, a reCAPTCHA token is required in your initial POST request to the /services/auth/headless/init/passwordless/login endpoint. |
| isRecaptchaRequiredRgstr | boolean | Determines whether a reCAPTCHA token is required to access Headless Registration API when user registration information is submitted to Salesforce. If true, a reCAPTCHA token is required in your initial POST request to the /services/auth/headless/init/registration endpoint. |
| isUniversalClientRgstrAllowed | boolean | Determines whether self-registration and passwordless login via Universal Registration API are enabled. |
| isUserDisambiguationAllowedForgotPwd | boolean | Determines whether the Headless Forgot Password Flow uses the headless user discovery Apex handler that's specified in the HeadlessDiscoveryHandlerId field. The handler enables users to reset their password with an identifier other than their username, such as an email address, phone number, or order number. |
| isUserDisambiguationAllowedUsernamePwd | boolean | Determines whether headless login flows use the headless user discovery Apex handler that's specified in the HeadlessDiscoveryHandlerId field. The handler enables users to log in with an identifier other than their username, such as an email address, phone number, or order number. This field applies to the Authorization Code and Credentials Flow and the OAuth 2.0 for First-Party Applications login flow. |
| maxPasswordResetAttempts | int | The maximum number of password reset attempts you allow for the Headless Forgot Password Flow before the user must request a new one-time password (OTP). |
| recaptchaScoreThreshold | double | The lowest reCAPTCHA score that is accepted before rejecting a
request to access Headless Identity APIs. This value must be between
0.5 and 1. Scores closer to 0.5 are more likely to be bots, while
scores closer to 1 are more likely to be valid users. You must set a score threshold if doesForgotPasswordRequireAuth or doesRegistrationRequireAuth fields are set to true. reCAPTCHA settings apply to both the Headless Registration Flow and the Headless Forgot Password Flow. Google issues a reCAPTCHA score only for reCAPTCHA v3 implementations. If you implement reCAPTCHA v2, this field doesn’t apply. |
| recaptchaSecretKey | string | The reCAPTCHA secret key from your API key pair. You get the API key pair from Google when you set up reCAPTCHA. The secret key helps your app securely communicate with Google. You must enter a secret key if doesForgotPasswordRequireAuth or doesRegistrationRequireAuth are set to true. reCAPTCHA settings apply to all headless identity flows for which reCAPTCHA is enabled. |
| registrationExecutionUser | string | The user who runs your headless registration Apex handler. |
| registrationHandler | string | The headless registration Apex handler. |
| registrationUserDefaultProfile | string | The default profile that gets assigned to new users when they register. |
NetworkEmailTmplAllowlist
Represents the allowlist for one-time password (OTP) email templates sent to end users during the Headless Registration Flow, Headless Passwordless Login Flow, and Headless Forgot Password Flow. Available in API version 60.0 and later.
| Field | Field Type | Description |
|---|---|---|
| emailTemplate | string | Required. The email templates that can be sent to users during the headless authorization flows for registration, passwordless login, and forgot password. You can list multiple templates. When your app sends its initial request to Headless Registration API or Headless Passwordless Login API, the emailtemplate parameter can include only an email template ID from the allowlist. For Headless Forgot Password API, it works the same way, but only if the isForgotPwdEmailTemplateAllowlistingEnabled field on the NetworkAuthApiSettings metadata type is true. |
NetworkMemberGroup
Represents the profiles and permission sets that are assigned to the Experience Cloud site. Users with one of the profiles or permission sets are members of the site, unless the user is a Chatter customer (from a customer group).
| Field | Field Type | Description |
|---|---|---|
| permissionSet | string | A permission set that is assigned to the site. |
| profile | string | A profile that is part of the site. |
NetworkPageOverride
Represents settings in the Administration area (in Experience Management or Experience Workspaces) that control which page type the Change Password, Forgot Password, Home, and Login pages each point to.
RecommendationAudience
Creates an audience of new Experience Cloud site members, or can be used to manage customized lists of audience members to organize and target recommendations. Available in API version 41.0 and later.
| Field | Field Type | Description |
|---|---|---|
| recommendationAudienceDetails | RecommendationAudienceDetail | The specific details of an audience for recommendations. |
RecommendationAudienceDetail
The specific details of an audience for recommendations. Available in API version 41.0 and later.
| Field | Field Type | Description |
|---|---|---|
| audienceCriteriaType | AudienceCriteriaType (enumeration of type string) | The criteria for the recommendation audience type. Values are:
|
| audienceCriteriaValue | string | For new member criteria, the maximum number of days since a user became a member. Null in case of custom list criteria. |
| setupName | string | Name of the recommendation audience. |
RecommendationDefinition
Represents a list of custom recommendations to drive engagement for an Experience Cloud site. Available in API version 41.0 and later.
| Field | Field Type | Description |
|---|---|---|
| recommendationDefinitionDetails | RecommendationDefinitionDetail[] | A list of custom recommendations and their details. |
RecommendationDefinitionDetail
The specific details of a custom recommendation. Available in API version 41.0 and later.
| Field | Field Type | Description |
|---|---|---|
| actionUrl | string | The URL for the button that lets users act on the recommendation. |
| description | string | An explanation of the recommendation that suggests what users can do. |
| linkText | string | The text label for the button. |
| scheduledRecommendations | ScheduledRecommendation | A list of scheduled recommendations. |
| setupName | string | The name of the recommendation, which appears in Setup. |
| title | string | The title of the recommendation. |
ReputationLevelDefinitions
Represents reputation levels members can achieve by performing certain defined actions in an Experience Cloud site.
| Field | Field Type | Description |
|---|---|---|
| level | ReputationLevel[] | Represents reputation levels. |
ReputationLevel
Represents the name and lower value of the reputation level. The application calculates the upper value.
| Field | Field Type | Description |
|---|---|---|
| branding | ReputationBranding[] | Represents any branding associated with the reputation level,
specifically, the custom image for the reputation level. This field is optional. If not specified, the default reputation level image is used. Available in API version 32.0 and later. |
| label | string | Name of the reputation level. This field is optional. If not specified, one of the 10 defaults is used.
|
| lowerThreshold | double | Required. The lower value in the range for this reputation level. For example, if this reputation level is for points 1–50, 1 is the lowerThreshold. |
ReputationPointsRules
Represents points rules in an Experience Cloud site’s point system.
| Field | Field Type | Description |
|---|---|---|
| pointsRule | ReputationPointsRule[] | Represents events and their associated points. |
ReputationPointsRule
Represents the event and associated point value for a points rule. When a user acts, they accrue the associated points.
| Field | Field Type | Description |
|---|---|---|
| eventType | string | Required. The type of event a member has to perform to get
points. The available values are:
|
| points | int | Required. The number of points a member gets for performing the
event. The default number of points per event is:
|
ScheduledRecommendation
Represents a list of scheduled recommendations. Available in API version 41.0 and later.
| Field | Field Type | Description |
|---|---|---|
| scheduledRecommendationDetails | ScheduledRecommendationDetail[] | A list of scheduled recommendations. |
ScheduledRecommendationDetail
The specific details of a scheduled recommendation. Available in API version 41.0 and later.
| Field | Field Type | Description |
|---|---|---|
| channel | RecommendationChannel (enumeration of type string) | A way to group recommendations together to determine where they
show up in the site. The valid values are:
|
| enabled | boolean | Indicates whether scheduling is enabled. If true, the recommendation is enabled
and appears in sites. If false, recommendations in feeds in Salesforce mobile web aren’t removed, but no new recommendations appear. In sites, disabled recommendations no longer appear. |
| rank | int | The rank of the recommendation within the channel, which
determines the order in which it’s displayed. The scheduled recommendation is inserted into the position specified by the rank. The rank of all the scheduled recommendations after it is pushed down. If the specified rank is larger than the size of the list, the scheduled recommendation is put at the end of the list. If a rank isn’t specified, the scheduled recommendation is put at the end of the list. |
| recommendationAudience | string | The name of the audience for this scheduled recommendation. |
NetworkTabSet
| Field | Field Type | Description |
|---|---|---|
| customTab | string | Custom tab that is part of the site. |
| defaultTab | string | The Home tab for the site. When members log in, this tab is the first page they see. |
| standardTab | string | Standard tab that is part of the site. |
Declarative Metadata Sample Definition
A sample XML definition of a network.
1<?xml version="1.0" encoding="UTF-8"?>
2<Network xmlns="http://soap.sforce.com/2006/04/metadata">
3 <allowMembersToFlag>true</allowMembersToFlag>
4 <changePasswordTemplate>unfiled$public/CommunityChangePasswordEmailTemplate</changePasswordTemplate>
5 <description>Metadata Community</description>
6 <emailSenderAddress>admin@networkMetadata.com</emailSenderAddress>
7 <emailSenderName>Admin User</emailSenderName>
8 <enableInvitation>false</enableInvitation>
9 <enableKnowledgeable>true</enableKnowledgeable>
10 <enableNicknameDisplay>false</enableNicknameDisplay>
11 <enablePrivateMessages>true</enablePrivateMessages>
12 <enableReputation>true</enableReputation>
13 <enableUpDownVote>true</enableUpDownVote>
14 <forgotPasswordTemplate>unfiled$public/CommunityForgotPasswordEmailTemplate</forgotPasswordTemplate>
15 <networkMemberGroups>
16 <permissionSet>Admin</permissionSet>
17 <permissionSet>Standard</permissionSet>
18 <permissionSet>ReadOnly</permissionSet>
19 <profile>Admin</profile>
20 <profile>Standard</profile>
21 <profile>ReadOnly</profile>
22 </networkMemberGroups>
23 <recommendationDefinition>
24 <recommendationDefinitionDetails>
25 <actionUrl>https://www.apple.com/iphone</actionUrl>
26 <description>Better specs and high performance for iPhones</description>
27 <linkText>iPhone 7</linkText>
28 <scheduledRecommendations>
29 <scheduledRecommendationDetails>
30 <channel>DefaultChannel</channel>
31 <enabled>false</enabled>
32 <rank>1</rank>
33 <recommendationAudience>New Member Audience</recommendationAudience>
34 </scheduledRecommendationDetails>
35 </scheduledRecommendations>
36 <setupName>Apple iPhone</setupName>
37 <title>iPhone7</title>
38 </recommendationDefinitionDetails>
39 <recommendationDefinitionDetails>
40 <actionUrl>https://www.bose.com/qc35</actionUrl>
41 <description>New Amazing Noise cancellation Headphones</description>
42 <linkText>Bose QC35</linkText>
43 <scheduledRecommendations>
44 <scheduledRecommendationDetails>
45 <channel>DefaultChannel</channel>
46 <enabled>true</enabled>
47 <rank>2</rank>
48 <recommendationAudience>Custom Audience</recommendationAudience>
49 </scheduledRecommendationDetails>
50 </scheduledRecommendations>
51 <setupName>Bose Headphones</setupName>
52 <title>Bose QC35</title>
53 </recommendationDefinitionDetails>
54 </recommendationDefinition>
55 <reputationLevels>
56 <level>
57 <branding>
58 <smallImage>communities_shared _document_folder/replevel_beginner.png</smallImage>
59 </branding>
60 <label>Beginner</label>
61 <lowerThreshold>0</lowerThreshold>
62 </level>
63 <level>
64 <branding>
65 <smallImage>communities_shared _document_folder/replevel_apprentice.png</smallImage>
66 </branding>
67 <label>Apprentice</label>
68 <lowerThreshold>51</lowerThreshold>
69 </level>
70 <level>
71 <branding>
72 <smallImage>communities_shared _document_folder/replevel_gettingthere.png</smallImage>
73 </branding>
74 <label>Getting There</label>
75 <lowerThreshold>101</lowerThreshold>
76 </level>
77 <level>
78 <branding>
79 <smallImage>communities_shared _document_folder/replevel_skilled.png</smallImage>
80 </branding>
81 <label>Skilled</label>
82 <lowerThreshold>151</lowerThreshold>
83 </level>
84 <level>
85 <branding>
86 <smallImage>communities_shared _document_folder/replevel_expert.png</smallImage>
87 </branding>
88 <label>Expert</label>
89 <lowerThreshold>201</lowerThreshold>
90 </level>
91 <level>
92 <branding>
93 <smallImage>communities_shared _document_folder/replevel_mentor.png</smallImage>
94 </branding>
95 <label>Mentor</label>
96 <lowerThreshold>251</lowerThreshold>
97 </level>
98 <level>
99 <branding>
100 <smallImage>communities_shared _document_folder/replevel_guru.png</smallImage>
101 </branding>
102 <label>Guru</label>
103 <lowerThreshold>301</lowerThreshold>
104 </level>
105 </reputationLevels>
106 <reputationPointsRules>
107 <pointsRule>
108 <eventType>FeedItemWriteAPost</eventType>
109 <points>5</points>
110 </pointsRule>
111 <pointsRule>
112 <eventType>FeedItemWriteAComment</eventType>
113 <points>3</points>
114 </pointsRule>
115 <pointsRule>
116 <eventType>FeedItemReceiveAComment</eventType>
117 <points>10</points>
118 </pointsRule>
119 <pointsRule>
120 <eventType>FeedItemLikeSomething</eventType>
121 <points>3</points>
122 </pointsRule>
123 <pointsRule>
124 <eventType>FeedItemReceiveALike</eventType>
125 <points>5</points>
126 </pointsRule>
127 <pointsRule>
128 <eventType>FeedItemMentionSomeone</eventType>
129 <points>5</points>
130 </pointsRule>
131 <pointsRule>
132 <eventType>FeedItemSomeoneMentionsYou</eventType>
133 <points>10</points>
134 </pointsRule>
135 <pointsRule>
136 <eventType>FeedItemShareAPost</eventType>
137 <points>5</points>
138 </pointsRule>
139 <pointsRule>
140 <eventType>FeedItemSomeoneSharesYourPost</eventType>
141 <points>10</points>
142 </pointsRule>
143 </reputationPointsRules>
144 <selfRegistration>false</selfRegistration>
145 <sendWelcomeEmail>true</sendWelcomeEmail>
146 <site>Network_11</site>
147 <status>UnderConstruction</status>
148 <tabs>
149 <defaultTab>Chatter</defaultTab>
150 <standardTab>Chatter</standardTab>
151 <standardTab>Account</standardTab>
152 <standardTab>Campaign</standardTab>
153 <standardTab>Case</standardTab>
154 <standardTab>Console</standardTab>
155 <standardTab>Contact</standardTab>
156 <standardTab>Contract</standardTab>
157 <standardTab>Dashboard</standardTab>
158 <standardTab>JigsawSearch</standardTab>
159 <standardTab>File</standardTab>
160 <standardTab>CollaborationGroup</standardTab>
161 <standardTab>home</standardTab>
162 <standardTab>Idea</standardTab>
163 <standardTab>Lead</standardTab>
164 <standardTab>Opportunity</standardTab>
165 <standardTab>Product2</standardTab>
166 <standardTab>UserProfile</standardTab>
167 <standardTab>report</standardTab>
168 <standardTab>Solution</standardTab>
169 </tabs>
170 <urlPathPrefix>network1</urlPathPrefix>
171 <welcomeTemplate>unfiled$public/CommunityWelcomeEmailTemplate</welcomeTemplate>
172</Network>Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the manifest file, see Deploying and Retrieving Metadata with the Zip File.