Creating Speaker Agreements
Speaker Agreements are contracts for speakers specifying rates for contracted services over a defined period of time, called a Series Contract. This enables customers to establish a defined agreement of rates and services with speakers for a specified period of time.
For example, a contract template enables end users to use one contract for a speaker to speak at several events over a twelve month period. The contract template contains all appropriate contract lines specifying services and rates, as well as a print template to generate the PDF version of the contract for signing.
Who can use this feature?
- Browser Users (iPad Coming Soon)
- Users require an Events Management License
- Business Admin Users, End Users
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
Edit - em_speaker__v
- institution__v
Read contract_line__v CRED series_contract__v - completed_programs__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
Edit - completed_programs__v
- 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
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
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 More 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 select the global record.
- 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
Edit - 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
- period_type__v
- template__v
Read contract_line__v CRE series_contract__v - completed_programs__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
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_sgnature__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
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_corperate_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 {{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.
contract_line__v tokens 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 can 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 record
- 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 – 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 – 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 No additional fields are required for contracts with a period_type__v of None.
- Select Save.
Creating Contract Lines for Series Contract Templates
After creating the Series Contract template, individual contract_line__v records can be created 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 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 More 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 More 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 no em_catalog__v record is 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. Custom integrations must perform the following edits to the appropriate contract_partner__v records in Vault CRM in order to enable users to activate the signed contract:
- 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 can activate 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 can 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.
Linking Contracts to Events and Event Speakers as

After the contract is activated, end users can 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.