Skip to Content
GuidesCreating Events

Creating Events

Events are the core organizational unit in PicPeak. One event = one shareable gallery. This page walks through every field on the Create Event form, what it controls, and which global settings affect its default value.

Quick walkthrough

Open the admin panel

Navigate to https://your-domain.com/admin and log in.

Click New Event

From the dashboard or the Events list.

Fill in the form

The full field reference is below. The form is split into four sections: Identity, Customer, Access, Display.

Save as draft, or publish immediately

The Save as Draft button keeps the event invisible to guests until you publish it later. Save & Publish puts it live (and fires event.published webhooks).

Upload photos

Drag-and-drop into the upload zone or click to browse. Thumbnails are generated as the upload completes.

Either copy the link from the Event Details page, or click Resend Creation Email to trigger an email to the customer with the link and password.

Field reference

Identity

FieldTypeRequiredNotes
Event typedropdownyesWedding, Birthday, Corporate, Family, Other, plus your custom types. Drives default theme + slug prefix.
Event nametextyesUsed as gallery title and in <title>.
Event datedate pickergated by event_require_event_dateUsed to compute the slug suffix. If gated off, a random hex suffix is used.

The event slug is derived as {type-prefix}-{slugified-name}-{date}, e.g. wedding-smith-jones-2026-05-12.

Customer contact

FieldTypeRequiredNotes
Customer nametextgated by event_require_customer_nameUsed in greeting copy in emails.
Customer emailemailgated by event_require_customer_emailReceives gallery-created email, expiration warnings, password resets.
Customer phoneteloptionalHidden by default. Enable in Event Defaults → Phone field. Available in event.* webhook payloads.
Admin emailemailgated by event_require_admin_emailReceives expiration warnings + archive notifications. Usually your own.

The “gated by” toggles are in Event Defaults.

Access control

FieldTypeDefaultNotes
Require passwordcheckboxfrom event_default_require_passwordPre-checked by default. Off = guests reach the gallery via the share-link token alone.
Passwordpassword(none)Min 6 chars, no all-numeric. Use the Generate button to get a memorable random one.
Confirm passwordpassword(none)Must match.
Client access enabledcheckboxoffIssues a separate share link with its own PIN. Lets a client review and hide individual photos before guests see them.
Client password (PIN)text(none)Required if client access is on. Usually a 4–6 digit PIN.

Changing the gallery password later regenerates the share token — old share links will stop working immediately. The customer needs the new link.

Limits

FieldTypeDefaultNotes
Expiration (days)numberfrom general_default_expiration_days (30)Sets expires_at = now + N days. On expiry the gallery is auto-archived.
Photo capnumber0 (unlimited)Max number of photos for this event. Replacement uploads (same filename) don’t count.

Display & theming

FieldTypeDefaultNotes
Theme presetdropdownfrom event-type’s recommended presetOne of nine bundled presets (see Branding).
Layoutdropdownfrom theme presetOverride the layout independently of the preset. See Gallery Interface for the seven layouts.
Header styledropdownfrom theme presethero / standard / minimal / none.
Hero dividerdropdownfrom theme presetwave / straight / angle / curve / none.
Custom CSS templatedropdown(none)Pick from globally-managed CSS templates (admin’s Settings → Custom CSS).
Welcome messagerich text(empty)Shown above the photo grid. Markdown / basic HTML.
Default photo sortdropdownupload date descWhat sort guests see first. They can change it via the filter bar.
Hero photophoto selector(auto: first photo)Pick which photo is used in the hero section. Selectable from any uploaded photo.

Workflow

FieldTypeDefaultNotes
Save as draftcheckboxon for first-time createWhen on, event is created with is_draft=true. Guests get a 404.
Allow user uploadscheckboxoffLets guests upload photos to the gallery via a special token URL.
Upload categorydropdown(none)Required if user uploads on. New photos are auto-assigned to this category.

Per-event protection overrides

The Edit Event page (after creation) exposes additional knobs that override the global defaults from Image Security:

FieldDefaultWhat it does
Download protection levelfrom global defaultbasic / standard / enhanced / maximum for this gallery only
Allow downloadsonMaster toggle. Off = no download buttons, no bulk-zip.
Watermark downloadsfrom global watermark defaultWhen on, downloads get the brand watermark composited over them.
Watermark thumbnailsoffWhen on, thumbnails are also watermarked (legibility caveat — small thumbs may be unreadable with watermarks).

What happens when you publish

For new events created with Save & Publish:

  1. Database row is inserted with is_draft=false, is_active=true.
  2. Share link + token generated.
  3. event.created webhook fires.
  4. event.published webhook fires.
  5. If a customer email is set: gallery-created email is queued.

For drafts that you publish later (via the Edit Event page → Publish):

  1. is_draft flips to false.
  2. event.published webhook fires.
  3. Gallery becomes accessible at the share link.
  4. Customer email (if any) is not auto-sent — use Resend Creation Email to trigger it manually.

Re-saving a published event does not re-fire event.published. The webhook is one-shot per draft → live transition. Use Send Test Event in Webhooks if you want to retest a receiver without publishing a new event.

After creation

The Event Details page gives you:

  • A copy-to-clipboard share link
  • The current password (with a regenerate / change action)
  • Photo grid + uploader
  • Per-event settings panels (downloads, protection, theme, feedback)
  • Activity log
  • Resend Creation Email, Archive Event, Regenerate Share Token action buttons

See Archiving Events for what happens when you archive.

Last updated on