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

`

---

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)