Creating Speaker Agreements
Speaker Agreements are contracts for speakers specifying rates for contracted services over a defined period of time across multiple events, called a Series Contract.
For example, a contract coordinator can use a contract template to contract a speaker for multiple speaker bureau events throughout the year. The template includes contract lines, for example, speaking fees, travel reimbursements, and cancellation terms. A PDF version of the contract generates for signature by the speaker.
Who can use this feature?
- Business Admin Users - Browser
- Creating the Print Template
- Creating a Series Contract Template
- End Users - Browser
- Adding Speakers with Speaker Caps to Events
- Users require an Events Management License
Configuring Speaker Agreements for

To configure this feature:
- Ensure Configuring Events Management is complete.
- Navigate to Admin > Users & Groups > Permission Sets.
- Select the appropriate permission set.
- Select the Objects tab.
-
Grant the following permissions:
Object
Object Permission
Object Types
Fields
Field Permission
contract__v
CRED
series_contract__v
- awaiting_rendition__v
- agreement__v
- contract_status__v
- description__v
- em_catalog__v
- em_tier__v
- em_total_payment__v
- end_date__v
- external_id__v
- local_currency__sys
- lock__v
- language__v
- name__v
- object_type__v
- start_date__v
- template__v
- template_name__v
- period_type__v
- minimum_contract_length__v
- contract_length__v
- first_expiration_date__v
- corporate_contract__v
- contracted_event__type__v
- contracted_product__v
- minimum_programs__v
- maximum_programs__v
- institution__v
- mobile_id__v
- mobile_last_modified_datetime__v
- mobile_created_datetime__v
Edit
- em_speaker__v
- institution__v
- completed_programs__v
Read
contract_line__v
CRED
series_contract__v
- contract_line__v
- em_rate__v
- em_rate_type__v
- em_rate_max__v
- em_rate_min__v
- em_service_quantity__v
- em_service_quantity_max__v
- em_service_quantity_min__v
- lock__v
- local_currency__sys
- object_type__v
- service__v
- event_format__v
- location_type__v
- content_length__v
- program_type__v
- service_type__v
- mobile_id__v
- mobile_last_modified_datetime__v
- mobile_created_datetime__v
Edit
- em_total_payment__v
- service_name__v
Read
contract_partner__v
CRED
series_contract__v
- acceptance_id__v
- contract__v
- contract_partner_status__v
- em_speaker__v
- end_date__v
- lock__v
- modified_date__v
- object_type__v
- start_date__v
- signature_datetime__v
- institution_sgnature__v
- mobile_id__v
- mobile_last_modified_datetime__v
- mobile_created_datetime__v
Edit
formatted_name__v
Read
currency__sys
R
n/a
abbreviation__sys
Read
em_catalog__v
n/a
contract__v
n/a
n/a
em_speaker__v
CRED
contract__v
- tier__v
- requires_corporate_contract__v
- em_print_generation_status__v
- em_print_generation_error__v
- institution__v
Edit
em_event__v
CRED
All appropriate object types
- event_format__v
- location_type__v
- content_length__v
- program_type__v
- product__v
Edit
em_event_speaker__v
CRED
All appropriate object types
contract__v
Edit
- Navigate to the em_event_speaker__v object in the permission set.
- Grant Execute permission to the link_contract__v object action.
- Navigate to Admin > Configuration > Objects > em_event_speaker__v > Object Types and select the Actions link.
- Select All Actions (...) > Edit Object Type Actions.
- Select the Link Contract check box for the appropriate object types.
- Navigate to Business Admin > Objects > events_management_settings__v and populate the SPEAKER_ROLLUP_STATUS_FILTER__v setting with a comma-separated list of em_event_speaker__v statuses to count towards completed events in the contract. By default, the defined statuses are attended__v and signed__v.

To configure this feature:
- Ensure Configuring Events Management is complete.
- Navigate to Admin > Users & Groups > Permission Sets.
- Select the appropriate permission set.
- Select the Objects tab.
-
Grant the following permissions:
Object
Object Permission
Object Types
Fields
Field Permission
contract__v
CRE
series_contract__v
- awaiting_rendition__v
- agreement__v
- contract_status__v
- description__v
- em_catalog__v
- em_tier__v
- em_total_payment__v
- end_date__v
- external_id__v
- local_currency__sys
- lock__v
- language__v
- name__v
- object_type__v
- start_date__v
- template_name__v
- contract_length__v
- contracted_event__type__v
- contracted_product__v
- corporate_contract__v
- em_speaker__v
- first_expiration_date__v
- institution__v
- maximum_programs__v
- minimum_contract_length__v
- minimum_programs__v
- completed_programs__v
Edit
contract_line__v
CRE
series_contract__v
- contract_line__v
- contract__v
- em_rate__v
- em_rate_type__v
- em_rate_max__v
- em_rate_min__v
- em_service_quantity__v
- em_service_quantity_max__v
- em_service_quantity_min__v
- lock__v
- local_currency__sys
- object_type__v
- service__v
- mobile_id__v
- mobile_last_modified_datetime__v
- mobile_created_datetime__v
Edit
- completed_programs__v
- em_total_payment__v
- service_name__v
- event_format__v
- location_type__v
- content_length__v
- program_type__v
- service_type__v
Read
contract_partner__v
CRE
series_contract__v
- acceptance_id__v
- contract__v
- contract_partner_status__v
- em_speaker__v
- lock__v
- modified_date__v
- object_type__v
- signature_datetime__v
- institution_signature__v
- mobile_id__v
- mobile_last_modified_datetime__v
- mobile_created_datetime__v
Edit
- end_date__v
- formatted_name__v
- start_date__v
Read
currency__sys
R
n/a
abbreviation__sys
Read
em_speaker__v
RE
All appropriate object types
- em_print_generation_status__v
- em_print_generation_error__v
Edit
- tier__v
- requires_corporate_contract__v
- institution__v
Read
em_event__v
CRE
All appropriate object types
- event_format__v
- location_type__v
- content_length__v
- program_type__v
- product__v
Edit
em_event_speaker__v
CRED
All appropriate object types
contract__v
Edit
-
Navigate to Business Admin > Objects > vmobile_object_configuration__v.
-
Activate the appropriate VMOCs for the following objects:
- contract__v
- contract_line__v
- contract_partner__v
- Select the requires_corporate_contract__v check box for all em_speaker__v records requiring corporate contracts. This affects the list of contracts available to the speaker.
Creating the Print Template as

If the contract is planned to be activated via uploading a signed copy of the contract, users must first create a .docx Print Template used to generate the agreement signed by the speaker.
Supported Tokens
The following tokens are supported when creating print templates for Series Contracts:
-
All standard contract__v, contract_line__v, and contract_partner__v fields via the {{ObjectAPIName.FieldAPIName}} format
Custom fields are not supported.
-
contract__v and contract_partner__v lookup fields via the {{ObjectAPIName.RelationshipName.FieldAPIName}} format
Up to two levels of relationship lookups are supported.
- The {{currentTime}} token
- The {{timeZone}} token
- The {{currentDate}} token – Renders as the current date and time when the contract is generated
Tokens are considered required unless marked as optional with the <O> modifier. For example, {{contract__v.name__v<O>}}. If a non-optional token cannot be resolved when the user generates the contract, the generation fails.
Date and DateTime fields can be formatted. See Formatting Tokens to Display Date and Time for more information.
Tokens for the contract_line__v object resolve as a list of all contract_line__v records associated with the contract__v record. If the token is added as a row of a table in the .docx print template, the token resolves with each contract_line__v record as an individual row of the table.
For example, if the following table was included in the .docx print template:
Program Type |
Compensation |
---|---|
{{contract_line__v.service_name__v}} |
{{contract_line__v.em_total_payment__v}} |
The rendered contract would include rows for each associated service name:
Program Type |
Compensation |
---|---|
Group In-Person Training |
$500.00 |
Pre-recorded Web Training |
$700.00 |
Local Travel (Two Way) |
$1,000.00 |
Filtering Contract Lines
To grant greater specificity in rendered contract_line__v records, tokens inserting contract_line__v picklists can be filtered to only display matching values by adding the <ObjectAPIName.FieldAPIName=PicklistValueAPIName> modifier to the token.
For example, the {{contract_line__v.service_name__v<contract_line__v.service_type__v=program__v>}} token filters the list to only display Contract Lines with a service_type__v field of program__v.
Sorting Contract Lines
By default, the list of Contract Lines in the generated Print Template sort based on the ID of the contract_line__v records. Organizers can define the sort order of Contract Lines by adding the <Sort=ObjectName.FieldAPIName SortOrder> modifier to the token.
For example, {{contract_line__v.service_name__v<Sort=contract_line__v.em_total_payment__v desc>}} sorts the list based on the em_total_payment__v field in descending order.
The filtering and sorting modifiers can be used together to create even greater specificity.
Associating Print Templates to an em_catalog__v Record
After completing the .docx template, business admin users make print templates available by uploading the document to a contract__v type em_catalog__v record.
Creating a Series Contract Template as

Once the print template is complete and attached to an em_catalog__v record, the Series Contract template can be created:
- Navigate to the Contracts tab.
- Select Create.
- Select Series Contract for the object type.
-
Populate the appropriate fields:
- name__v – Enter the appropriate name
- description__v – Enter an optional description
- start_date__v – The template's start date
- end_date__v – The template's end date
- em_catalog__v – Select the appropriate em_catalog__v record with the attached Print Template
- template__v – Select this check box to designate the contract__v record as a template
- language__v – Select the appropriate language
- em_tier__v – The tier of the contract
- corporate_contract__v – Select this check box to designate the template as being for corporate contracts, not individual contracts
- contracted_product__v – Select the appropriate product
- minimum_programs__v – Defines the minimum number of programs the contracted speaker can speak at
- maximum_programs__v – Defines the maximum number of programs the contracted speaker can speak at
- period_type__v – Defines the type of Series Contract. The period type determines which additional fields must be populated before creating the contract. Available values are:
- calendar__v – The contract expires on a specific day and month. For example, the contract could be marked as expiring on December 31, 2026, regardless of when the contract is signed.
- rolling__v – The contract expires based on a set number of months after signing. For example, the contract could be marked as expiring six months after whenever the contract is signed.
- None – The contract has no period
-
Populate the following additional fields based on the selected period_type__v:
period_type__v
Additional Fields
Calendar
- contract_length__v
- first_expiration_date__v
- minimum_contract_length__v – Optional
Rolling
contract_length__v None
No additional fields required
- Select Save.
Creating Contract Lines for Series Contract Templates
After creating the Series Contract template, create individual contract_line__v records from the contract__v detail page:
- Navigate to the Contract Lines related list.
- Select Create.
-
Populate the following fields:
- service__v – Speaker Service defined by the associated em_catalog__v record
- em_rate_type__v – The rate type for the contract line. Available values are:
- Hour
- Day
- Event
- em_service_quantity_min__v – The minimum allowed quantity
- em_service_quantity_max__v – The maximum allowed quantity
- em_service_quantity__v – The fixed allowed quantity. This field is optional and should not be used together with the em_service_quantity_min__v and em_service_quantity_max__v fields.
- em_rate_min__v – The minimum allowed rate
- em_rate_max__v – The maximum allowed rate
- em_rate__v – The fixed allowed rate. This field is optional and should not be used together with the em_rate_min__v and em_rate_max__v fields.
- Select Create or Create + New.
Activating Series Contract Templates
Once all appropriate contract_line__v records are created, the contract template can be activated by either updating the status__v field to activated__v or by selecting the Activate button in the record's All Actions menu.
New contract_line__v records cannot be created when a Contract Template is activated.
Generating a Series Contract for a Speaker as

To generate a Series Contract for a Speaker:
- Navigate to the appropriate em_speaker__v record.
- Select Manage Contracts from the All Actions menu.
- Select New.
-
Select the appropriate Contract Template from the list of available templates.
- Select Continue.
-
Edit the Rate and Service Quantity for the appropriate Contract Lines, if applicable.
-
Select Create Contract.
-
If the Series Contract template used to generate the contract had an associated em_catalog__v record with a print template, a PDF contract based on the associated print template is generated and added to the Notes and Attachments related list of the em_speaker__v record
If an error prevents the PDF from being generated, a .txt file containing details about the error is automatically added to the Notes and Attachments related list of the em_speaker__v record.
- If an em_catalog__v record is not associated with the Series Contract template, the user is redirected to the em_speaker__v detail record page
The currency of the generated PDF contract is based on the currency of the Contract Template, not the user generating the contract.
-
Updating Generated Contracts
After generating the PDF, end users can update an existing contract:
- Navigate to the appropriate em_speaker__v record.
- Select Manage Contracts.
- Select the appropriate contract.
- Select Update.
- Update the appropriate contract lines.
- Select Update Contract. This generates a new PDF contract.
Signing and Activating Series Contracts as

After the contract has been generated, the end user can activate the contract via one of the following methods.
Upload a Signed Contract
If the contract was signed via a PDF version of the contract generated via print template, users can upload the signed version of the PDF contract to activate the contract:
- Navigate to the appropriate em_speaker__v record.
- Select Manage Contracts.
- Select the appropriate contract.
-
Select Activate.
- Enter the appropriate signature datetime.
- Select Attach File.
-
Select Choose File.
- Select Attach File.
- Select Done.
Sign via External Integration
Customers can build custom external integrations with Vault CRM to capture the appropriate signatures for a contract by editing the following fields:
- Populate the signature_datetime__v field with the appropriate datetime
- Update the status__v field to signed__v
Once the integration updates the appropriate contract_partner__v records, the user activates the contract:
- Navigate to the appropriate em_speaker__v record.
- Select Manage Contracts.
- Select the appropriate contract.
- Select Activate.
- Select OK.
Activate Contract Without Signatures
Users activate a contract without signatures if the following fields are not on the contract_partner__v layout:
- acceptance_id__v
- signature_datetime__v
To activate a contract without a signature:
- Navigate to the appropriate em_speaker__v record.
- Select Manage Contracts.
- Select the appropriate contract.
- Select Activate.
- Select OK.
Once a contract is activated, it becomes locked; updates cannot be made without unlocking the contract.
Linking Contracts to Events and Event Speakers as

After the contract is activated, end users link the contract to the appropriate em_event_speaker__v record, enabling events to begin counting against the contracted number of events the speaker is added to:
- Navigate to the Event Speakers related list of the appropriate event.
- Select the appropriate em_event_speaker__v record.
- Select Link Contract.
-
Select the appropriate contract from the list. Contracts display in the list if it matches all of the following criteria:
- The contract is an activated series_contract__v type contract
- The contract’s em_speaker__v field matches the event speaker’s speaker__v field
- The contract’s contracted_product__v field is either empty, or matches the product__v field of the corresponding event
- Select Link Contract.
The completed_programs__v field on contract__v records automatically populates with the number of contracted events completed by the speaker.