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.
Send the share link
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
| Field | Type | Required | Notes |
|---|---|---|---|
| Event type | dropdown | yes | Wedding, Birthday, Corporate, Family, Other, plus your custom types. Drives default theme + slug prefix. |
| Event name | text | yes | Used as gallery title and in <title>. |
| Event date | date picker | gated by event_require_event_date | Used 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
| Field | Type | Required | Notes |
|---|---|---|---|
| Customer name | text | gated by event_require_customer_name | Used in greeting copy in emails. |
| Customer email | gated by event_require_customer_email | Receives gallery-created email, expiration warnings, password resets. | |
| Customer phone | tel | optional | Hidden by default. Enable in Event Defaults → Phone field. Available in event.* webhook payloads. |
| Admin email | gated by event_require_admin_email | Receives expiration warnings + archive notifications. Usually your own. |
The “gated by” toggles are in Event Defaults.
Access control
| Field | Type | Default | Notes |
|---|---|---|---|
| Require password | checkbox | from event_default_require_password | Pre-checked by default. Off = guests reach the gallery via the share-link token alone. |
| Password | password | (none) | Min 6 chars, no all-numeric. Use the Generate button to get a memorable random one. |
| Confirm password | password | (none) | Must match. |
| Client access enabled | checkbox | off | Issues 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
| Field | Type | Default | Notes |
|---|---|---|---|
| Expiration (days) | number | from general_default_expiration_days (30) | Sets expires_at = now + N days. On expiry the gallery is auto-archived. |
| Photo cap | number | 0 (unlimited) | Max number of photos for this event. Replacement uploads (same filename) don’t count. |
Display & theming
| Field | Type | Default | Notes |
|---|---|---|---|
| Theme preset | dropdown | from event-type’s recommended preset | One of nine bundled presets (see Branding). |
| Layout | dropdown | from theme preset | Override the layout independently of the preset. See Gallery Interface for the seven layouts. |
| Header style | dropdown | from theme preset | hero / standard / minimal / none. |
| Hero divider | dropdown | from theme preset | wave / straight / angle / curve / none. |
| Custom CSS template | dropdown | (none) | Pick from globally-managed CSS templates (admin’s Settings → Custom CSS). |
| Welcome message | rich text | (empty) | Shown above the photo grid. Markdown / basic HTML. |
| Default photo sort | dropdown | upload date desc | What sort guests see first. They can change it via the filter bar. |
| Hero photo | photo selector | (auto: first photo) | Pick which photo is used in the hero section. Selectable from any uploaded photo. |
Workflow
| Field | Type | Default | Notes |
|---|---|---|---|
| Save as draft | checkbox | on for first-time create | When on, event is created with is_draft=true. Guests get a 404. |
| Allow user uploads | checkbox | off | Lets guests upload photos to the gallery via a special token URL. |
| Upload category | dropdown | (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:
| Field | Default | What it does |
|---|---|---|
| Download protection level | from global default | basic / standard / enhanced / maximum for this gallery only |
| Allow downloads | on | Master toggle. Off = no download buttons, no bulk-zip. |
| Watermark downloads | from global watermark default | When on, downloads get the brand watermark composited over them. |
| Watermark thumbnails | off | When 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:
- Database row is inserted with
is_draft=false,is_active=true. - Share link + token generated.
event.createdwebhook fires.event.publishedwebhook fires.- If a customer email is set: gallery-created email is queued.
For drafts that you publish later (via the Edit Event page → Publish):
is_draftflips tofalse.event.publishedwebhook fires.- Gallery becomes accessible at the share link.
- 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.