Lauren Grau
posted this on October 06, 2011 08:17 pm
Introduction In order for Soapbox Engage to successfully send your donations, event registrations, etc data from a website to your Salesforce instance, you’ll first need to create some new fields to house this data in Salesforce.
In the process, you’ll hone some great Salesforce skills that you can put to use in other aspects of your Salesforce environment. In order to configure your account, you’ll want to brush up on the following:
What is a Lead object? A lead is a potential “sales” opportunity. When you see “leads,” think prospective donors, program participants, members, etc. These are people who might have expressed an interest in your programs, but with whom you have yet to have significant interaction. (from the Salesforce Foundation Nonprofit Translator)
What is an Opportunity object? An opportunity is a “sale” that you want to track. For nonprofits, think of opportunities as grant applications, pledge payments, individual donations, product sales, fee-for-service activities, or any other financial transaction. In the Nonprofit Starter Pack, Opportunities have been renamed “Donations.” (from the Salesforce Foundation Nonprofit Translator)
Soapbox Engage is compatible with both standard installs of SFDC and the Nonprofit Starter Pack. Soapbox Engage is not yet compatible with Sandbox SFDC accounts.
Configuring the Lead Object
Create the following new lead object custom fields. (note: you don’t need to add the “__c” to the end of the field, this will be auto-created by SFDC for accessing it via the API)
sbx_Amount__c
Label: Payment Amount
Type: Currency(10,2)
sbx_CampaignID__c
Label: Campaign ID
Type: Text(50)
sbx_CheckDate__c
Label: Check Date
Type: Date
sbx_CheckNumber__c
Label: Check Number
Type: Number(10,0)
sbx_FormOfPayment__c
Label: Form of Payment
Type: Picklist
Cash
Check
Credit Card - Visa
Credit Card - MasterCard
Credit Card - AMEX
Credit Card - Discover
PayPal
sbx_IpAddress__c
Label: IP Address
Text(20)
sbx_LeadConvertRecordType__c
Label: Lead Convert Record Type
Type: Formula(Text)
sbx_LeadRecordTypeText__c
Label: LeadRecordTypeText
Type: Text(20)
sbx_NumberOfTickets__c
Label: Number of Tickets
Type: Number(10,0)
sbx_ReceiptSent__c
Label: Receipt Sent
Type: Date
sbx_ThankYouSent__c
Label: Thank You Sent
Type: Date
sbx_TicketPrice__c
Label: Ticket Price
Type: Currency(10,2)
sbx_TicketType__c
Label: Ticket Type
Type: Text(100)
sbx_TransactionDate__c
Label: Transaction Date
Type: Date
sbx_TransactionId__c
Label: Transaction ID
Type: Text(100)
sbx_TransactionStatus__c
Label: Transaction Status
Type: Picklist
Rejected
Completed
sbx_DonationCustomFieldText1
Label: Donation Custom Field Text 1
Type: Text(255)
sbx_DonationCustomFieldText2
Label: Donation Custom Field Text 2
Type: Text(255)
sbx_DonationCustomFieldText3
Label: Donation Custom Field Text 3
Type: Text(255)
sbx_DonationCustomFieldText4
Label: Donation Custom Field Text 4
Type: Text(255)
Create a lead process for the lead object
Name: “Master”
Create lead object triggers
LeadUpdate
CampaignMemberAdd
Create new Lead object record types
Donation
Description: “Individual gift”
Petition
Description: “This is for petitions”
Recurring Donation
Description: “Recurring donations”
Registration
Description: “Registration for events, etc.”
Create new lead object page layouts
Petition Lead Layout
Registration Lead Layout
Donation Lead Layout
Assign Lead Page Layouts
Assign “Donation Lead Layout” to record type “Donation” for all profiles
Create Lead-Opportunity custom field mapping (NOTE: you’ll need to do this after you create the Opportunity object custom fields)
Check Date
Opportunity.Check Date
Check Number
Opportunity.Check Number
Form of Payment
Opportunity.Form of Payment
Lead Convert Record Type
Opportunity.Lead Convert Record Type
Number of Tickets
Opportunity.Number of Tickets
Payment Amount
Opportunity.Payment Amount
Receipt Sent
Opportunity.Receipt Sent
Thank You Sent
Opportunity.Thank You Sent
Ticket Price
Opportunity.Ticket Price
Ticket Type
Opportunity.Ticket Type
Transaction Date
Opportunity.Transaction Date
Transaction ID
Opportunity.Transaction ID
Transaction Status
Opportunity.Transaction Status
Donation Custom Field Text 1
Opportunity.Custom Field Text 1
sbx_DonationCustomFieldText2
Opportunity.Custom Field Text 2
sbx_DonationCustomFieldText3
Opportunity.Custom Field Text 3
sbx_DonationCustomFieldText4
Opportunity.Custom Field Text 4
Configuring the Opportunity Object
Create new opportunity object custom fields (note: you don’t need to add the “__c” to the end of the field, this will be auto-created by SFDC for accessing it via the API)
sbx_PaymentAmount__c
Label: Payment Amount
Type: Currency(10,2))
sbx_CheckDate__c
Label: Check Date
Type: Date
sbx_CheckNumber__c
Label: Check Number
Type: Number(10,0)
sbx_FormOfPayment__c
Label: Form of Payment
Type: Picklist
Cash
Check
Credit Card - Visa
Credit Card - MasterCard
Credit Card - AMEX
Credit Card - Discover
PayPal
sbx_LeadConvertRecordType__c
Label: Lead Convert Record Type
Type: Text(100)
sbx_NumberOfTickets__c
Label: Number of Tickets
Type: Number(10,0)
sbx_ReceiptSent__c
Label: Receipt Sent
Type: Date
sbx_TicketPrice__c
Label: Ticket Price
Type: Currency(10,2)
sbx_TicketType__c
Label: Ticket Type
Type: Text(100)
sbx_ThankYouSent__c
Label: Thank You Sent
Type: Date
sbx_TransactionDate__c
Label: Transaction Date
Type: Date
sbx_TransactionId__c
Label: Transaction ID
Type: Text(100)
sbx_TransactionStatus__c
Label: Transaction Status
Type: Picklist
Rejected
Completed
Create a sales process for the opportunity object
Name: “Master”
Create new opportunity record types
Donation
Description: “Individual gift”
Recurring Donation
Description: “Recurring donations”
Registration
Description: “Registration for events, etc.”
Create new opportunity object triggers
OpportunityUpdate
OpportunityEmailNew
Create new opportunity object page layouts
Donation Opportunity Layout
Opportunity Layout
Registration Layout
Assign Opportunity Page Layouts
Assign “Donation Opportunity Layout” to record type “Donation” for all profiles
Configuring the Campaign Object
Create new campaign object custom fields (note: you don’t need to add the “__c” to the end of the field, this will be auto-created by SFDC for accessing it via the API)
sbx_NumberOfRecipients__c
Label: # of Recipients
Type: Roll-Up Summary (COUNT Campaign Member)
sbx_NumberOfTargets__c
Label: # of Targets
Type: Roll-Up Summary (COUNT Campaign Member)
sbx_Chart__c
Label: Chart
Type: Formula (Text)
sbx_ChartType__c
Label: Chart Type
Type: Picklist
Bar
Meter
sbx_EmailBodyHTML__c
Label: Email Body HTML
Type: Long Text Area(32768)
sbx_EmailBodyText__c
Label: Email Body Text
Type: Long Text Area(32768)
sbx_EmailSubject__c
Label: Email Subject
Type: Text(255)
sbx_PetitionIncludeSignerStreet__c
Label: Include Signer Address
Type: Checkbox
sbx_PetitionIncludeSignerCityStateZip__c
Label: Include Signer City/State/Zip
Type: Checkbox
sbx_PetitionBodyHTML__c
Label: Petition Body HTML
Type: Long Text Area(32768)
sbx_PetitionBodyText__c
Label: Petition Body Text
Type: Long Text Area(32768)
sbx_PetitionSubject__c
Label: Petition Subject
Type: Text(255)
sbx_PetitionTargetContactId__c
Label: Petition Target
Type: Lookup(Contact)
sbx_NumberOfExpectedResponses
Label: Number of Expected Responses
Type: Number(10,0)
Create new campaign object page layouts
Campaign Layout
Donation Layout
Newsletter Layout
Petition Layout
Registration Layout
Create new campaign object buttons and links
Preview_Email_Blast
Label: Preview Email Blast
Display Type: Detail Page Button
Visualforce Page: EmailBlastPreview
Behavior: Display in new window
Window Open Properties
Width: 900px
Height: 500px
Window Position: Top Left
Resizable: true
Show Address Bar: false
Show Scrollbars: true
Show Toolbars: false
Show Menu Bar: false
Show Status Bar: false
Send_Email_Blast
Label: Send Email Blast
Display Type: Detail Page Button
Visualforce Page: EmailBlast
Behavior: Display in existing window with sidebar
View_Email_Campaign_Analytics
Label: View Email Campaign Analytics
Display Type: Detail Page Link
Behavior: Display in new window
Window Open Properties
Width: (blank)
Height: 500px
Window Position: Top Left
Resizable: true
Show Address Bar: false
Show Scrollbars: true
Show Toolbars: false
Show Menu Bar: false
Show Status Bar: false
Create new campaign object record types
Donation
Description: This is a donation campaign.
Newsletter
Description: This is an outbound newsletter in the form of an email blast.
Petition
Description: This is a petition campaign.
Registration
Description: This is an event registration campaign.
Create new campaign object Visualforce pages
EmailBlast
EmailBlastPreview
Configuring the Campaign Member Object
Create new campaign member object custom fields (note: you don’t need to add the “__c” to the end of the field, this will be auto-created by SFDC for accessing it via the API)
sbx_Description__c
Label: Description
Type: Long Text Area(32768)
sbx_IpAddress__c
Label: IP Address
Type: Text(20)
Create new campaign member object page layouts
Campaign Member Page Layout
Donation Layout
Newsletter Layout
Petition Layout
Registration Layout
Create new campaign member object record types
Donation
Newsletter
Petition
Registration
Standard
Create new campaign member object triggers
LeadConvertMember
PetitionEmailTarget
Configuring the Contact Object
Create new Contact object custom fields(note: you don’t need to add the “__c” to the end of the field, this will be auto-created by SFDC for accessing it via the API)
sbx_AccountName__c
Label: Account Name
Type: Formula(Text)
sbx_AccountStatus__c
Label: Account Status
Type: Formula(Text)
sbx_Avatar__c
Label: Avatar
Type: Text(255)
sbx_CongressionalDistrict__c
Label: Congressional District
Type: Number(4, 0)
sbx_CongressionalDistrictStateNumber__c
Label: Congressional District State/Number
Type: Formula(Text)
sbx_DistrictingStatus__c
Label: Districting Status
Type: Text(255)
sbx_GeocodingStatus__c
Label: Geocoding Status
Type: Text(255)
sbx_Inactive__c
Label: Inactive
Type: Checkbox
sbx_Latitude__c
Label: Latitude
Type: Number(12, 6)
sbx_Longitude__c
Label: Longitude
Type: Number(12, 6)
sbx_StateLegislatureDistrict__c
Label: State Legis District
Type: Number(4, 0)
sbx_StateSenateDistrict__c
Label: State Senate District
Type: Number(4, 0)
Create new Contact object triggers
GW_Contact_GeoDistrict
Configuring the Account Object
Create new Account object custom fields (note: you don’t need to add the “__c” to the end of the field, this will be auto-created by SFDC for accessing it via the API)
sbx_CongressionalDistrict__c
Label: Congressional District
Type: Number(4, 0)
sbx_CongressionalDistrictStateNumber__c
Label: Congressional District State/Number
Type: Formula(Text)
sbx_DistrictingStatus__c
Label: Districting Status
Type: Text(255)
sbx_GeocodingStatus__c
Label: Geocoding Status
Type: Text(255)
sbx_Inactive__c
Label: Inactive
Type: Checkbox
sbx_Latitude__c
Label: Latitude
Type: Number(12, 6)
sbx_Longitude__c
Label: Longitude
Type: Number(12, 6)
sbx_StateLegislatureDistrict__c
Label: State Legis District
Type: Number(4, 0)
sbx_StateSenateDistrict__c
Label: State Senate District
Type: Number(4, 0)
Create new Account object triggers
GW_Account_GeoDistrict
Comments
Marc Baizman
Soapbox Engage beta users
Looks great...just waiting for the good parts... :)
October 07, 2011 03:33 pm
Lauren Grau
PICnet
Updated with details! More goodies to come!
October 07, 2011 06:48 pm
Marc Baizman
Soapbox Engage beta users
These instructions assume the latest Nonprofit Starter Pack packages are installed, right?
October 07, 2011 07:18 pm
Lauren Grau
PICnet
Hi Marc, great question! These instructions work for either a standard Salesforce account or one with the Nonprofit Starter Pack installed.
October 13, 2011 05:46 pm
Nathan Spiwak
It seems like it would be much easier for end users if you guys put out a simple app on the AppExchange with these fields, record types, and page layouts. Is that something you're planning on doing?
Comments
Looks great...just waiting for the good parts... :)
Updated with details! More goodies to come!
Hi Marc, great question! These instructions work for either a standard Salesforce account or one with the Nonprofit Starter Pack installed.
It seems like it would be much easier for end users if you guys put out a simple app on the AppExchange with these fields, record types, and page layouts. Is that something you're planning on doing?