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. On current beta builds the form has four cards: Gallery Details, Photo source, Access & Security and Custom gallery styling.
Create the gallery
Create Gallery saves the event as a draft: guests get a 404 until you publish it. You land on the new gallery’s page.
Upload photos
Drag-and-drop into the upload zone on the Photos tab or click to browse. Thumbnails are generated as the upload completes.
Publish and send the share link
Publish in the gallery header puts it live and fires the event.published webhook. The publish dialog sends the gallery email by default; uncheck Send the gallery email now to publish quietly and send it later with Send gallery email. You can also copy the link from the gallery page and pass it on yourself.
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.
Customer accounts as recipients
With the customer portal on, the Customer accounts picker below the contact fields assigns existing customer accounts to the gallery. On the beta channel from v3.165.0-beta.0 (PicPeak PR #1819 ) the assigned accounts are recipients as well:
- The form lists who is Notified when you publish the gallery: the customer email gets the gallery email, every assigned account its customer portal email.
- With at least one account picked, Customer email is optional even where Event Defaults require it.
- With accounts picked and no customer email, no gallery password is asked for: customers open the gallery through the portal, and a strong password nobody knows is generated to keep the share link locked. If you add a customer email later, you set a password then.
- Notifying accounts needs the
customers.eventspermission. Without it the form says how many accounts will not be notified, and the request to assign accounts is refused.
In builds containing PicPeak PR #1793 the customer name and email of an existing event can be cleared by emptying the field and saving, unless the matching “required” toggle is on. A gallery without a customer address gets no gallery email: Send gallery email (formerly Resend creation email) says so instead of reporting success, and Reset gallery password shows the new password with a note that no email went out, so you can pass it on yourself.
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. |
| Enable Client Access | checkbox | off | Issues a separate share link with its own PIN. Lets a client review and hide individual photos before guests see them. |
| Client PIN | text | (none) | Required if client access is on. At least 6 characters; shorter values are refused by the server. The client link appears on the gallery page once the gallery is created. |
On the beta channel the Client Access block sits directly under the gallery password in Access & Security (from v3.145.0-beta.0, PicPeak PR #1686 ); before that it had no heading and sat further down the form. The 6-character minimum applies from v3.142.1-beta.0 (PicPeak PR #1666 ); an existing shorter PIN keeps working until it is changed.
Changing the gallery password later regenerates the share token — old share links will stop working immediately. The customer needs the new link.
Changing the gallery password, the client PIN or the client link also ends the sessions opened with the old one, so guests or clients are asked for the password again. Re-entering the current password — for example when you resend the gallery email — changes nothing. Customer-portal and slideshow sessions are not affected. (Builds containing PicPeak PR #1497 .)
Limits
| Field | Type | Default | Notes |
|---|---|---|---|
| Gallery Expiration | number, 1–365 | from general_default_expiration_days (30) | Days after the event date. On expiry the gallery is auto-archived. Hidden when Event Defaults do not require an expiration; the gallery then never expires. |
| Photo Limit | number | 0 (unlimited) | Max number of photos for this event. Replacement uploads (same filename) don’t count. Applies to admin, chunked and guest uploads. |
| Download Limit | number | 0 (unlimited) | Max number of photos the client can download. |
How the expiry is computed. The gallery stays open through the end of the expiry day: the event date plus N days (today plus N days when the event has no date), 23:59:59 in the instance time zone. The instance time zone is the one set in the CRM business profile, else the server’s TZ. The form shows the resulting Expires on date under the field, and 30 days, 60 days and 90 days quick picks fill it in. A date-only expiry sent through the API also means the end of that day; an explicit date-time without a time zone is read as UTC (builds containing PicPeak PR #1788 ).
On the beta channel, the end-of-day rule applies from v3.174.0-beta.0 (PicPeak PR #2011 ) and the quick picks from v3.171.0-beta.0 (PicPeak PR #1952 ). Earlier builds and stable set the expiry to midnight of the computed day. To change the expiry later, see Gallery settings after creation.
Display & theming
On the beta channel from v3.155.0-beta.0 the Custom gallery styling card decides whether these fields apply: off, the gallery uses the global theme from Branding and follows every change made there; on, the layout, header, colours, fonts and CSS template below override it for this gallery only. Picking an event type with its own recommended preset switches it on. See Themes & Branding.
| 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 |
|---|---|---|---|
| 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. |
There is no draft checkbox: every gallery created in the admin starts as a draft. Galleries created through the v1 API are published immediately.
Gallery settings after creation
On the beta channel from v3.155.0-beta.0 (PicPeak PR #1747 ) there is no separate Edit Event page. The gallery page has the tabs Overview, Photos (Media once the gallery holds a video), Guests & Feedback and Settings. The Settings tab is split into sections: General, Access, Downloads, Guest interaction, Appearance, Photo source, Folders & delivery, plus Pre-event reminder, Live Slideshow, Faces and Tags when those features are on, and a Danger zone for archiving and deleting.
Settings that only exist after creation:
| Section | Field | Default | What it does |
|---|---|---|---|
| Access | Expiration Date | from creation | A calendar date; the gallery stays open through the end of that day in the instance time zone. The From today: quick picks set 30, 60 or 90 days from today, and Never clears the date so the gallery does not expire. |
| Downloads | Allow photo downloads | on | Master toggle. Off = no download buttons, no bulk-zip. |
| Downloads | Add watermark to downloads | from global watermark default | Downloads get the brand watermark composited over them. |
| Downloads | Watermark text | (empty) | Replaces the company name in this gallery’s text watermark. Empty = the company name. Not shown when Branding has a watermark logo. |
| Downloads | Block right-click menu, Detect developer tools, Canvas rendering in the lightbox | from global defaults | Per-gallery overrides of Image Security. |
| Guest interaction | Longest edge of guest photos (px) | (empty) | Larger JPEG, PNG and WebP guest uploads are scaled down on the guest’s device before upload. Empty = keep originals. Other formats and videos are sent as they are. |
| Guest interaction | Live refresh (tell guests about new photos) | off | An open gallery checks for new photos every 20 seconds and offers guests a “new photos” button. Nothing reloads on its own. |
| Guest interaction | Show camera details to guests | off | Camera, lens, focal length, aperture, shutter speed and ISO appear below the photo in the full-screen view. Location and serial numbers are never stored or shown. |
Guest upload downscale, live refresh and camera details are on the beta channel from v3.171.0-beta.0; the watermark text is drawn from v3.174.2-beta.0 (PicPeak PR #2106 ). See Gallery Interface for how guests see them.
What happens when you create and publish
When you click Create Gallery:
- Database row is inserted with
is_draft=true. - Share link + token generated.
event.createdwebhook fires.- No email goes out.
When you click Publish on the gallery page:
is_draftflips tofalse; the gallery becomes accessible at the share link.event.publishedwebhook fires.- Unless you unchecked Send the gallery email now, the customer email gets the gallery email and every assigned customer account its portal email. If the gallery’s password was generated (portal-only gallery) and it has a customer email, the dialog asks you to set a password first, because the gallery email carries it.
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 gallery page gives you:
- A copy-to-clipboard share link and, with client access on, the client link
- The current password (with a regenerate / change action)
- The photo grid and uploader on the Photos tab
- Per-gallery settings on the Settings tab (see above)
- Publish, Send gallery email, Duplicate gallery and Archive Gallery actions in the header
See Archiving Events for what happens when you archive.