Veeva Vault custom fields for Mobile Locker
Use this guide when your organization stores approved content in Veeva Vault and wants Mobile Locker to set presentation settings automatically when that content is ingested.
This is for Vault administrators and IT teams who can add custom document fields. It is not a field-user guide.
Connect Vault first (read-only user, API access, and ingest filter). See Veeva Vault access and ingest for Mobile Locker. This article is the optional ml_* field pack after that connection exists.
On this page
Why custom fields (not native Vault tags)
Vault Document Tags (tags__v) are a standard Vault feature. Admins create tags under Configuration > Document Setup > Document Tags. Users apply them on the document. Vault can also auto-tag from phrases in the file. Those tags are useful for search and filter inside Vault.
Mobile Locker ingest does not copy tags__v onto presentations. Native tags are sometimes used only as a query filter (for example, only ingest documents tagged "Mobile Locker"). They do not set folders, groups, email, print, download, or Mobile Locker labels.
To control how content behaves in Mobile Locker, add a small set of custom document fields whose API names start with ml_ and end with __c. Marketing and medical ops then set those fields on each document (or via Vault workflow). When Mobile Locker imports the document, it applies the matching presentation settings.
Do not rely on native Vault tags for Mobile Locker labels. If you need personas, products, or audience labels in the Mobile Locker library, put those values on ml_labels__c.
How ingest uses the fields
The Mobile Locker Vault connection must be marked as having Mobile Locker fields (has_mobilelocker_fields). Your Mobile Locker contact enables this after the fields exist in Vault. If this flag is off, Mobile Locker still imports the file but does not apply ml_* settings.
Each ml_* value is applied on its own when it is present on the document. Vault omits empty fields from retrieve-document. An empty Folder or Groups value does not skip Email, Internal, labels, or the other flags.
If a field is not on the document type, or is empty so Vault omits it, Mobile Locker leaves that presentation setting unchanged. For groups, connection default groups still apply when ml_groups__c is absent.
When mapping runs, Mobile Locker can:
- Set the presentation name and alias from optional name fields (if title sync is on for the connection)
- Set share, download, and print flags for reps and for viewers
- Mark the file internal-use-only
- Assign groups (names must already exist in Mobile Locker)
- Place the file in a team folder (path must already exist)
- Create Mobile Locker labels if they do not exist, then attach them
- Attach a share / email template by exact name
Product links use the standard Vault product__v field. That is separate from the ml_* pack.
Field catalog
Create these as shared document fields on the document types you ingest into Mobile Locker. Keep the Field API Name exactly as shown. Labels in the Vault UI can be friendlier.
You can still create every field in this catalog on the document type. That is good practice. Presence of all of them is not required for any one of them to apply.
Recommended boolean pack
Create these on ingest document types if you want share, print, and download flags from Vault.
| Field label (suggested) | Field API name | Vault type | What Mobile Locker does |
|---|---|---|---|
| Internal use only in Mobile Locker? | ml_internal_use_only__c |
Boolean (Yes/No) | When true, the presentation is internal-use-only. |
| Email allowed? | ml_can_be_emailed__c |
Boolean | Sets whether the file can be shared by email, share link, and share space. |
| Download by user? | ml_can_be_downloaded_by_user__c |
Boolean | Sets whether the Mobile Locker user can export / download the file. |
| Print by user? | ml_can_be_printed_by_user__c |
Boolean | Sets whether the Mobile Locker user can print. |
| Download by viewer? | ml_can_be_downloaded_by_viewer__c |
Boolean | Sets whether a recipient / viewer can download. |
| Print by viewer? | ml_can_be_printed_by_viewer__c |
Boolean | Sets whether a recipient / viewer can print. |
Optional placement (Folder, Groups)
These fields are optional. Empty Folder or Groups does not block the boolean pack or labels.
| Field label (suggested) | Field API name | Vault type | What Mobile Locker does |
|---|---|---|---|
| Folder | ml_folder__c |
String | Places the presentation in a team folder when a path is present. See folder paths below. |
| Groups | ml_groups__c |
Repeating string (array of strings) | Assigns Mobile Locker groups whose names match exactly when the field is present. Groups are not created automatically. |
Optional extras
| Field label (suggested) | Field API name | Vault type | What Mobile Locker does |
|---|---|---|---|
| Business-friendly name | ml_business_friendly_name__c |
String | If title sync is enabled, becomes the presentation name in Mobile Locker. |
| Alias | ml_alias__c |
String | If title sync is enabled, becomes the presentation alias. |
| Email template | ml_email_template__c |
String or repeating string | Matches a Mobile Locker share template by exact name. If several values are sent, only the first is used. |
| Labels (or tags) | ml_labels__c |
Repeating string (array of strings), a comma-separated string of names, or object IDs on some connections | Creates missing Mobile Locker labels on the team, then attaches them. Labels apply even when other ml_* fields are missing. Use this for personas, audience, or any library tags you want in Mobile Locker. |
How to create the fields in Vault
- In Vault, go to Admin > Configuration > Document Fields (or the equivalent Document Setup screen for your release).
- Create each field you will use as a shared field with the API name in the tables above. Use suffix
__c. - Add those fields to every document type (and subtype, if needed) that Mobile Locker will ingest.
- Give marketing, medical, or the Vault role that owns promotional content permission to edit these fields. The integration user that Mobile Locker uses must be able to read them in the API / VQL.
- Optional: add the fields to the Doc Info layout so users can set them without a loader.
- Tell your Mobile Locker contact when the fields are live so we can turn on
has_mobilelocker_fieldson the connection.
Mobile Locker can provide an Excel field template (Mobile Locker Custom Veeva Vault Fields - TEMPLATE.xlsx) that matches this catalog. Use it as a checklist when you create the fields in Vault.
You do not install a Mobile Locker package in Vault for these fields. They are ordinary custom document fields that you own.
Values Mobile Locker expects
Booleans
Use true / false (or Vault Yes / No). An empty or omitted boolean does not change that flag. Each boolean is applied only when it is present on the document.
If any of the six boolean fields is present, Mobile Locker also lets the user present the file, and it uses the team default for handout.
Folder paths (ml_folder__c)
- Applied only when a path is present. If Vault omits the field (empty), Mobile Locker does not change the folder.
- Use
home(any capitalization) to keep the file on the team Home list and remove it from folders. - For a nested folder, use the same path as in Mobile Locker, for example
Sales Aids/Oncology. You can prefix withhome/. Leading and trailing slashes are ignored. Backslashes are treated as slashes. - Matching is case-insensitive against the team folder tree. The folder must already exist. Mobile Locker does not create folders from this field.
Groups (ml_groups__c)
Applied only when ml_groups__c is present on the document. If Vault omits the field (empty), Mobile Locker does not wipe connection default groups. Those defaults still apply.
Each value must match a Mobile Locker group name on that team. Unknown names are ignored. Document groups and connection groups are combined.
Labels (ml_labels__c)
Labels apply even when Folder, Groups, or the boolean pack is missing.
The usual shape is a repeating string of label names, or a comma-separated string of names. Each name becomes a Mobile Locker label. If the team does not have that label, ingest creates it, then attaches it. Use the names field users should see in the library (for example Persona: Radiologist or Radiologist). Duplicate names on the same team are not created twice.
Some connections map ml_labels__c to a Vault object (for example personas__c). In that case the values are record IDs (for example VA5000000001001). Mobile Locker looks up the object name field (usually name__v) and uses that as the Mobile Locker label name. You do not need object IDs unless your connection is set up that way.
Native Vault tags__v still do not become Mobile Locker labels.
Email templates (ml_email_template__c)
The value must match a share template name on the team. If it does not match, the presentation is not given a template.
Persona labels and similar tags
If marketing wants to tag assets by persona (or any other taxonomy) in Vault and have those values appear as Mobile Locker labels:
- Create
ml_labels__c(and any otherml_*fields you want to drive). Labels work without Folder, Groups, and without a complete boolean pack. - Have users or workflow set the persona values on
ml_labels__c, not only on nativetags__v. - On ingest, Mobile Locker creates any missing labels and attaches them.
You can still use native Vault tags for Vault search. Keep Mobile Locker-facing values on ml_labels__c so Vault-only tags (for example "Mobile Locker" as an ingest flag) do not clutter the Mobile Locker library.
What we do not map from native tags
| Vault feature | API name | Mapped to Mobile Locker? |
|---|---|---|
| Document tags | tags__v |
No (query filter only, on some connections) |
| Automated image tags | image_tags__v |
No |
| Annotation tags | (annotations) | No |
| Document type / subtype / classification | type__v, subtype__v, classification__v |
Not mapped to labels or folders |
Checklist for go-live
- Create the boolean pack and any optional fields you will use (Folder, Groups, name, alias, email template, labels). Add them to the ingest document types.
- Confirm the Mobile Locker integration user can read the fields in VQL.
- Create matching folders, groups, and share templates in Mobile Locker before you depend on those names.
- Ask Mobile Locker to enable Mobile Locker fields on the Vault connection.
- Ingest one test document with known values and confirm name, folder, groups, labels, and share flags in the Mobile Locker admin library. A document with Email and Labels, and empty Folder and Groups, should still get email and labels.
Questions: contact support@mobilelocker.com or your Mobile Locker account team.