Help Center › Pure HTML Editor - Data Sources and Placeholders
This page explains where placeholder data comes from and how profile, team, and company scopes interact when a template is rendered.
---
What Data Binding Means
When a visitor opens a digital business card, the platform resolves every {{placeholder_name}} token in your template by looking up the relevant record in the database and substituting the value. This process is called data binding. It happens server-side at render time — there is no client-side JavaScript involved.
You do not need to write any binding code. Every placeholder in the [Placeholder Reference](../04-pure-html-placeholders.md) is bound automatically.
---
The Three Scopes
Placeholders belong to one of three data scopes. The prefix of the placeholder name tells you which scope it reads from.
| Scope | Prefix pattern | Example placeholders | Where the data lives |
|---|---|---|---|
| Profile | No prefix / image_ / personal fields | {{full_name}}, {{job_title}}, {{work_email}}, {{image_profile_url}} | The individual profile record |
| Team / Department | team_ | {{department}}, {{team_email}}, {{team_logo_url}}, {{team_links_html}} | The team or department the profile belongs to |
| Company | company_ | {{company}}, {{company_email}}, {{company_logo_url}}, {{company_links_html}} | The company the profile belongs to |
Profile scope
Profile placeholders read from the individual record — the person's name, photo, job title, contact details, and their own social links. Every profile has its own values; two people using the same template will see their own data substituted correctly.
Team scope
Team placeholders read from the team or department the profile is a member of. If a company has three teams and each team has a different email address and logo, a profile in Team A will render {{team_email}} with Team A's email, and a profile in Team B will render it with Team B's email — even when both profiles use the same HTML template.
Company scope
Company placeholders read from the company record. {{company}} shows the company name, {{company_logo_url}} shows the company logo, and so on. Every profile in the same company will render these identically.
---
Scopes Are Additive, Not Overriding
A common point of confusion: team and company data do not override profile data, and profile data does not override team or company data. The three scopes are independent and additive.
-
{{full_name}}always shows the profile owner's name — regardless of what the company or team name is -
{{company}}always shows the company name — regardless of what the profile owner's name is -
{{team_email}}always shows the team's email — it is not affected by whether the profile has its own email set
The only placeholders that merge data from multiple scopes are the combined ones:
-
{{all_social_links_html}}— outputs a merged list of the profile's links + team links + company links -
{{image_logo_url}}— returns the first logo found, checking profile → team → company in that order
---
Showing Social Links by Scope
Depending on your design, you may want to show links from one scope, several scopes, or all scopes at once.
Profile links only:
`html
{{social_links_html}}
`
Team links only:
`html
{{team_links_html}}
`
Company links only:
`html
{{company_links_html}}
`
All links from all scopes merged into one list:
`html
{{all_social_links_html}}
`
Profile and company links as separate sections:
`html
{{full_name}}'s links
{{social_links_html}}
{{company}} links
{{company_links_html}}
`
---
Tips for Multi-Level Organisations
Use company-scope placeholders for brand consistency. If you want every employee card to show the company logo and company website in the same position, use {{company_logo_url}} and {{company_website}}. These render identically for everyone in the company without any per-profile configuration.
Use team-scope placeholders for department identity. If each department has its own contact email or phone number, use {{team_email}} and {{team_phone}}. Assign the template at company scope and each department's cards will automatically show the correct team contact details.
Use profile-scope placeholders for individual data. Names, personal email addresses, job titles, and individual social profiles always come from the profile record.
Avoid duplicating data across scopes. For example, if a profile has the same LinkedIn URL already set on the company record, using {{all_social_links_html}} may cause that link to appear twice. Use {{social_links_html}} (profile only) or {{company_links_html}} (company only) when you want a clean, non-duplicated list.
Template assignment interacts with the scope hierarchy. If you assign a template at company scope, it applies to all profiles in that company. If a team later overrides the template with a different one, team members will use the team template. Individual profile-level template assignments take the highest priority. This is the standard template inheritance chain — the same mechanism applies to CSS and branding settings.
---
Related
- [Placeholder Reference](../04-pure-html-placeholders.md)
- [Pure HTML Editor — Complete Guide](../pure-html-editor.md)
- [Template Visual Builder](../template-visual-builder.md)