How to Import a Ready-Made Template?

Published July 20, 2026 · Updated July 20, 2026

Before this: How to Create an Event?

HOW-TOTemplates · Import

Importing a ready-made template into an event is done by opening the Add Templates library modal via the "Add More" button on the Templates page, selecting one or more ready-made templates, and tapping "Add". In the ACTUAL code this is the ONLY import path exposed to the user (adding from the ready-made library). Although the codebase defines methods to import from a file (.aktemplate) (TemplateFileService.ImportFromFileAsync/ExportToFileAsync) and a bundled template loader (LoadBundledTemplateJsonAsync), NO UI calls them — meaning importing from a file is currently NOT available in the interface.


i
Before you begin
  1. The user must be signed in and an event must be selected — AddTemplateToCurrentEvent fails silently if currentEventInfo is null (RepositoryResponse.Success=false).
  2. There must be ready-made templates in the library (AllLocalPhotoTemplates / AllLocalVideoGifTemplates); this list is populated from the server/CloudSync and default templates, and if it is empty the modal shows No templates yet.

Step by step

Step 1 · Open the Templates page

Settings → Templates (/templates)

From Settings, go to the Templates page. The page opens at the /templates route, showing two tabs at the top (Photo, Video & GIF) and the Active Templates section.

🔎 On-screen items: Tabs: Photo, Video & GIF; heading Active Templates + counter badge

Templates page: Photo / Video & GIF tabs at the top, Add More and Create New buttons on the right, Active Templates…
Templates page: Photo / Video & GIF tabs at the top, Add More and Create New buttons on the right, Active Templates grid below

Step 2 · Select the correct tab

Templates (/templates) → tab bar

Choose the tab based on the type of template you want to import: Photo for photo output, Video & GIF for video/GIF output. The selected tab determines which library list (photo vs video) is shown in the modal.

🔎 On-screen items: Photo tab, Video & GIF tab

Step 3 · Tap the Add More button

Templates (/templates) → section header actions

Tap the Add More button to the right of the section heading. This calls OpenBrowseModal() in the editor VM and opens the 'Add Templates' library modal (photo library from the photo tab, video library from the video tab).

🔎 On-screen items: Add More (btn-outline) button; next to it the Create New (purple) button

Step 4 · Browse the Add Templates library modal

BrowseLibraryModal — Add Templates modal

In the Add Templates modal that opens, review the ready-made template cards. Cards appear in a masonry layout, and as you scroll down more load in pages of 30 (infinite scroll). Templates already added to the event are shown with an Added badge and cannot be selected.

🔎 On-screen items: Modal title Add Templates, subtitle Select templates to add; a check box on the cards and the Added badge; each card shows name + format (OutputSize.DisplayName)

Add Templates modal: grid of ready-made template cards, some with an 'Added' badge, a check (selection) box in the…
Add Templates modal: grid of ready-made template cards, some with an 'Added' badge, a check (selection) box in the corner of the cards

Step 5 · Select one or more templates

BrowseLibraryModal — card grid

Tap the template card(s) you want to add. Each tap toggles the card's selection (the check box fills purple). Cards marked Added cannot be tapped (they are skipped in OnCardClick). The number on the Add button at the bottom shows only the count of selected cards that have not yet been added.

🔎 On-screen items: The purple check box on the card (browse-selected), the 'Add (N)' button in the footer

With a few cards selected (purple-checked) in the modal, the counter button at the bottom such as 'Add (2)' is active
With a few cards selected (purple-checked) in the modal, the counter button at the bottom such as 'Add (2)' is active

Step 6 · Import into the event with the Add button

BrowseLibraryModal — footer

Tap the 'Add (N)' button in the footer. For each selected template, AddTemplateToCurrentEvent(templateLocalId) is called; this creates a junction (TemplateEventJunction) between the template and the current event, linking the template to the event. The selection is cleared and the modal closes.

🔎 On-screen items: 'Add (N)' (btn-update-now) button; Cancel button; red 'Delete (N)' button on the left

Step 7 · (Intermediate step) Mode-enable suggestion popup

Confirmation dialog (BlazorUserDialogService)

If the output mode (Photo/GIF/Video) of the added template is disabled for the event, a 'shall we enable the mode?' confirmation popup appears after the modal closes (TemplateModeSuggestionService.CheckAndOfferAsync). If you say 'Yes', the relevant setting (e.g. PhotoOutputFormatActive / GifOutputFormatActive / VideoOutputFormatActive) is enabled; if you say No, nothing changes. A multi-frame (2+) photo template may also suggest GIF mode.

🔎 On-screen items: Info dialog title (e.g. 'EnableGifModeTitle'), Yes / No buttons

Mode-enable suggestion: an info popup like 'Shall we enable this mode?', with Yes/No buttons
Mode-enable suggestion: an info popup like 'Shall we enable this mode?', with Yes/No buttons

Step 8 · The added template appears in the Active Templates grid

Templates (/templates) → Active Templates grid

The modal closes and the template(s) you selected drop into the tab's Active Templates grid. If a pull/sync is in progress, an 'Importing...' indicator and an X/Y counter appear in the heading; once ready, the card is fully visible.

🔎 On-screen items: Counter badge (X/Y) in the heading + Importing... label; new template card in the grid

The newly added template card in the Active Templates grid; if present, the 'Importing...' label in the heading
The newly added template card in the Active Templates grid; if present, the 'Importing...' label in the heading

Step 9 · Edit the template (optional)

Templates grid → GalleryItemCard actions / TemplateEditor (/templateeditor)

Hover over a card in the Active Templates grid and tap the Edit (pencil) icon, or tap the card directly → LoadTemplateForEditing is called and you move to /templateeditor. If the template is 'pristine' (default/wizard-generated, never modified), it has a 'Locked' badge and editing actually creates a copy (tooltip Clone & Edit); for modified templates it is directly Edit. The card also has Duplicate and Remove actions.

🔎 On-screen items: Card actions: Clone & Edit / Edit, Duplicate, Remove, move (drag); Locked badge

The action buttons that appear when hovering over an active template card (Edit/Clone&Edit, Duplicate, Remove) and the…
The action buttons that appear when hovering over an active template card (Edit/Clone&Edit, Duplicate, Remove) and the Locked badge on a pristine card

Step 10 · (Not an alternative import) Creating from scratch

Templates (/templates) → CreateNewTemplateModal wizard

Instead of a ready-made import, the Create New button opens a wizard (CreateNewTemplateModal: type → format → layout → style) and builds the template from scratch. This is NOT an import but a new-template creation flow; it is separate from importing from the ready-made library.

🔎 On-screen items: Create New button; wizard steps (Type/Format/Layout/Style)

i
Tips

The modal allows multiple selection: you can check several cards and import them in bulk with a single Add.

The number on the 'Add (N)' button counts only selected cards that have not yet been added (those without the Added badge); an already-added card cannot be selected.

From the same modal, the red 'Delete (N)' button at the bottom left lets you completely delete the selected templates from the library (event junction + library record) — this requires a confirmation dialog.

Editing a pristine (Locked) ready-made template does not alter the original; it automatically creates a copy and edits that (Clone & Edit).

After a template is added, saying Yes to the 'shall we enable the mode?' suggestion that appears when the output mode is disabled instantly enables the corresponding switch on the kiosk welcome and the Mode settings page.

!
Common mistakes

Expecting import from a file (.aktemplate): the code exists (TemplateFileService.ImportFromFileAsync/ExportToFileAsync and the wwwroot/templates bundled loader) but is not wired to any interface button — there is NO import from a file for the user; the only way is adding from the ready-made library.

Trying to add when no event is selected: when currentEventInfo is null, AddTemplateToCurrentEvent silently returns Success=false and the template is not added.

Adding from the wrong tab: the modal on the Photo tab shows the photo library, and the modal on the Video & GIF tab shows the video library; the template you are looking for may be on the other tab.

Mistaking Create New for import: it builds a template from scratch with a wizard, it does not import a ready-made template.

Was this article helpful?

Not sure where to start? We can help.

Tell us what you need, a real person replies within hours.

By submitting, you agree to our Terms and Privacy Policy.