Build your first custom object on SGEN
| Field | Value ||---|---|| Audience | SGEN site owners and content managers || Page type | guide || Area | Get Started || Updated | 2026-05-25 |How to define a new content type, add records, and display them on your site
Pages handle one-off content. The blog handles date-driven content. Custom objects handle everything that fits neither category — the repeating, structured content that powers the real working parts of a site.
A team page that stays current because it pulls from a team member object. A product catalog that renders consistently because every product record has the same fields. A testimonial slider that feeds from a testimonial object so the marketing team can add entries without touching the page layout. Custom objects are how SGEN turns repeating content from a maintenance problem into a managed system.
This guide walks you through building your first one. You will define the content type, set up its fields, add your first record, connect it to a page, and confirm that everything renders correctly. The whole process takes about twenty minutes the first time. The second custom object type you build takes five.
Custom objects let you replace hand-maintained page sections — a team page, a product catalog, an awards shelf — with managed object types. Each one updates from the object records, not from manual page edits. That is the outcome this guide is built to deliver.
What is this for?
Custom objects in SGEN let you define a new content type beyond pages and posts. Each custom object type has its own schema — a defined list of fields — and its own record list in the dashboard. Records can have a public detail page, or they can exist only as data that appears inside other pages or templates.
Think of a custom object type as a table with columns you define. Each record is a row. The field schema defines what information every record in that type must or may carry. Once the schema exists, anyone with editor access can add records without touching the schema or the page layout.
The custom object layer is part of SG-Modules, SGEN's first-party module set. It integrates directly with Templates (which define how records render), Pages (which pull object data into page sections), Forms (which can capture submissions into object records), and SG-Builder (which has a custom object section component you can drag onto any page layout).
Six content types that are almost always better as custom objects than as manually written page sections:
- Team members — name, role, photo, bio, department, LinkedIn.
The team page auto-generates from team member records instead of requiring a page edit every time someone joins or leaves.
- Products — name, description, price, image, category, SKU,
availability. The product catalog renders from product records. New products appear on the site as soon as the record is published.
- Testimonials — quote, customer name, company, role, photo,
rating, date. The testimonial slider or grid pulls from the testimonial object. No copy-paste into page sections.
- Case studies — client name, industry, challenge, outcome,
featured image, tags, publish date. An index page lists all case study records. Each record has its own detail page.
- Locations — name, address, phone, hours, map coordinates,
photo. Multi-location businesses maintain a locations object and embed the list on a contact or locations page.
- FAQ entries — question, answer, category, display order.
FAQ sections pull from the object so the content team can manage entries without opening the page editor.
Good use cases
Custom objects are the right tool in each of these situations.
- A team page that maintains itself. A marketing manager
spent an afternoon setting up a team member object with six fields: name, role, department, bio, profile photo, and a LinkedIn URL. The team page now pulls from those records. When someone joins the team, a record is added and the page updates. No page editor required.
- A product catalog with consistent structure. A product
manager created a product object with fields for name, roast level, origin, tasting notes, weight, price, and product image. The products page renders from those records. Seasonal offerings appear when the record is published and disappear when it is unpublished — without touching the page layout.
- A testimonial slider that the team keeps current.
Before the testimonial object existed, three quotes were hard-coded into a page section. Now it is a testimonial object with twelve records and a slider that pulls from the most recent six. The team adds new testimonials the same week they arrive. The old ones rotate out automatically.
- A case study index with detail pages. A partnership team
set up a case study object where each record becomes its own detail page. The index page at /case-studies lists all published records. Filtering by industry is handled at the template level.
- A locations list for a multi-site business. A SGEN team
running a regional bakery chain with eight branches created a locations object. Each branch is a record with name, address, phone, hours, a map embed URL, and a branch photo. The locations page renders from those records. Opening a new branch means adding one record.
- A FAQ section the support team owns. A customer support
lead wanted to manage FAQ entries without opening pages. The FAQ object has four fields: question, answer, category, and display order. The FAQ section on the help page pulls from the object, sorted by display order. Support edits entries directly in the object records list — no page editor open.
What NOT to use this for
- One-off content belongs in Pages, not custom objects. An
About page, a Privacy Policy, a Contact page — these are single pieces of content that do not repeat. There is no benefit to creating an object type for content that will have exactly one record. Use Pages for singular, non-repeating content.
- Date-driven content belongs in the Blog. News, announcements,
press releases, editorial articles — content where chronological order and authorship are the primary organizing principles belongs in Blog. The Blog area already handles scheduling, categories, tags, and author attribution. A news object type recreates all of that from scratch, unnecessarily.
- File storage belongs in the Media library. Custom objects
store structured data, not binary files. If you need to manage PDFs, images, or downloadable assets, upload them through the Media library and reference them in your object fields using the image or link field types.
- Site configuration belongs in Settings. Things like your
site name, default SEO values, email sender address, or third-party integration keys live in Settings, not in custom objects. Settings are operational configuration. Custom objects are content.
- Content that only exists once and never repeats. If you
find yourself creating an object type for which you will only ever have one record, you almost certainly want a Page with custom sections instead. Object types pay off at two or more records — ideally more than five.
How this connects to other features
Custom objects sit at the intersection of several other SGEN areas. Understanding these connections helps you plan your object schema before you build it.
- Pages — The most common use of a custom object is displaying
its records on a page. A team page pulls from the team member object. A products page pulls from the product object. You connect the page to the object by choosing the object type in the page's data source settings or by dragging a custom object section into the page layout in SG-Builder.
- Templates — Templates define how individual records render
when they have a public detail page. If your testimonial object has a detail page at /testimonials/{slug}, a template controls that layout. You assign the template to the object type in the object settings. Without a template, detail pages render with the system default.
- Forms — If your site has a form that collects structured
submissions — job applications, partner inquiries, event registrations — you can connect the form to a custom object type so that each submission creates a new record. Set this up in the form's settings under Submission Destination.
- SG-Builder — When you are building or editing a page in
SG-Builder, the Custom Object Section component lets you drag in a display of any object type. You choose the object, choose the fields to display, choose the layout (grid, list, slider), and configure item count and sort order. No template customization required for basic display.
- Blog — A custom object can hold related content that
links to blog posts. A speaker object at a conference site, for example, might include a field that references a blog post category. This is a soft relationship — not a foreign-key join — so plan for it at the field design stage.
Before you start
Do this work before you open the custom objects section in SG-Admin. The time you spend here saves rebuilding later.
Identify the repeating content shape you want to manage. Write out what you are trying to solve in one sentence. "I want a team page that updates without manual page edits" or "I want product information to stay consistent across the site." If you cannot write that sentence, you probably do not need a custom object yet.
List the fields each record needs. Write out every piece of information a single record in this type carries. Aim for four to eight fields. If you have more than ten, consider whether some of those fields are display concerns (handled at the template level) rather than data fields. For a team member object, a typical field list is: name, role, department, bio (rich text), profile photo (image), LinkedIn URL (link). Six fields. Clean, complete, usable.
Choose available field types for each field. SGEN custom object fields support: text (short string), rich text (long formatted text), number, image (media reference), date, link (URL + optional label), and reference (pointer to another record — use sparingly on a first build). Match each field on your list to a field type before you start. Changing a field's type after records exist causes data loss for that field.
Decide whether records have a public detail page. A team member object where each person has a /team/{slug} page needs a detail page template. A testimonial object where records only appear inside a slider on the homepage does not. Make this call before you save the schema — it determines how you set up the object type.
Check that you have Admin or Owner access in SGEN. Custom object schema creation requires Admin access or higher. Editor roles can add and edit records, but cannot create or modify object types. If you are not an Admin, contact your account admin before continuing.
Where to go
the admin → Custom Objects → New Object Type
From the main SGEN dashboard, click Custom Objects in the left sidebar. If you do not see Custom Objects in the sidebar, your account plan may not include the Custom Objects module, or your user role may not have access. Contact your account admin to confirm.
On the Custom Objects index page, you see a list of any existing object types (empty on a new account) and a New Object Type button in the top right corner. Click it.
The path is: yoursite.com/sg-admin/custom-objects/new
Steps — Build your first custom object
These steps take you from opening Custom Objects in the admin to a published object type with records that render on your site.
Step 1. Name the object type
Click New Object Type. Fill in the two name fields.
Singular name — How one record is referred to. "Team Member", "Product", "Testimonial", "Location", "Case Study", "FAQ Entry". This appears in the dashboard record editor title and in template labels.
Plural name — How the collection is referred to. "Team Members", "Products", "Testimonials". This appears in the sidebar label and the record list heading.
SGEN generates the URL slug from the plural name automatically. For "Team Members" it generates team-members, which becomes the URL base for detail pages: /team-members/{record-slug}. If you want a different URL base — /team/{slug} instead of /team-members/{slug} — edit the slug field before saving.
Check or uncheck Enable public detail pages based on your decision from the Before you start section. If your records only appear inside page sections and not as standalone pages, leave this unchecked.
Add an internal description if it helps other team members understand what this object type is for. This is not shown on the public site.
Click Save object type to continue to the field editor.
Step 2. Add fields to the schema
The field editor opens after you save the object type. You are now building the schema — the list of fields every record in this type will carry.
Click Add field for each field on your pre-built list. For each field, you choose:
Field label — The name shown in the record editor. "Profile photo", "Roast level", "Customer name". Use the label your team will recognize.
Field type — Text, rich text, number, image, date, link, or reference. Choose the type that matches the data, not the display. A price is a number, not text, even if you display it as "$24.00". A bio is rich text, not text.
Required or optional — Required fields must be filled before a record can be published. Mark as required any field that is always present on every record — typically name, slug, and the primary display image. Leave optional any fields that sometimes apply and sometimes do not.
Placeholder or hint text — This appears in the record editor to help the person filling in the record. For a team member bio field, a useful hint reads: "3-5 sentences. Focus on their role and what they bring to the team."
Work through your full field list. The order you add fields is the order they appear in the record editor — put the most important fields (name, primary image, primary text) first.
When all fields are added, click Save schema.
Step 3. Mark required fields and save the schema
With all fields added, review the Required column before saving. Required fields block record publishing if left empty — use them for fields where an empty value would cause a display problem on the public site.
For a team member object, Name, Role, Bio, and Profile photo are typically required. Department and LinkedIn URL are optional — not every team member has a department designation, and LinkedIn is not mandatory.
If you want to reorder fields, drag them into order using the drag handle on the left of each row. The order in the field editor is the order in the record form.
Click Save schema. SGEN saves the schema and confirms. The object type now appears in the Custom Objects list. No records exist yet.
Field type locked on save. Once a field is saved with a type, the type cannot be changed without deleting the field and re-adding it. Any data in that field is lost on deletion. If you realize a field type is wrong before adding records, delete and re-add now. If records already exist, decide whether the data loss is acceptable before making the change.
Step 4. Add your first record
From the Custom Objects list, click the object type you created. Click New Record.
The record form shows all the fields you defined, in the order you set. Fill in each field.
Name and slug — SGEN auto-generates a URL slug from the name field when the record has a detail page enabled. For a team member named "Sarah Chen", the slug becomes sarah-chen and the detail page URL becomes /team-members/sarah-chen. You can edit the slug before first publish. After first publish, changing the slug breaks any existing inbound links.
Image fields — Click the image field to open the Media library. You can select an existing image or upload a new one. The image is stored in your Media library and referenced by the record — not embedded in it.
Rich text fields — The bio field opens a basic rich text editor. Use it for formatted text — bold, italic, lists, links. Do not embed images in rich text fields. Use the dedicated image field type for images.
Reference fields — If your schema includes a reference field pointing to another object type, those records must exist before you can link to them. If you added a reference field and the target object type is empty, the field will show an empty dropdown.
When all required fields are filled, click Save record to save as a draft, or Publish record to make it live immediately. Start with Save record and review before publishing.
Step 5. Preview the record on a page
Before publishing records to the live site, confirm how they render. There are two ways to preview.
Detail page preview (if detail pages are enabled). After saving the record, click Preview on the record page. SGEN renders the record using your assigned template (or the system default if no template is assigned yet) and opens the preview in a new tab. Check that all fields render correctly, the image loads, and the layout is usable.
Page section preview (for records displayed inside a page). Open the page that will display your custom object records. In the SG-Builder editor, drag a Custom Object Section onto the page. In the section settings, choose your object type and select the fields to display. Save and preview the page. You should see your draft record in the preview even before it is published.
If the detail page shows a 404 or a blank layout, see the troubleshooting section. The most common cause is a missing template assignment.
If the record does not appear in the page section, check that the section is pointing to the correct object type and that the record status is either Draft (for preview) or Published (for live display).
Step 6. Publish the record
When the preview looks correct, publish the record.
Open the record and click Publish. The record status changes from Draft to Published. If detail pages are enabled, the public URL is now live. If the record appears in a page section, it is now visible to site visitors.
For team pages, product catalogs, and case study indexes, you will typically add several records before the page is worth reviewing as a whole. Add your initial batch of records, publish them, then load the page and review the full collection. You are looking for layout consistency across records — one image that is a different aspect ratio, one bio that is much longer than the others, one record missing a required field that slipped through.
Fix those issues at the record level, not the page level. That is the point of the object: content problems are fixed in the record, not in the page editor.
What success looks like
When your first custom object is fully set up and publishing, these things are true.
- The custom object type exists in the admin under
Custom Objects. It has a name, a slug, and a saved schema with all your fields.
- At least one record exists in the object type. The record
is Published, not in Draft.
- If detail pages are enabled, the detail page URL resolves
correctly and renders the record using the assigned template. No 404. No blank layout.
- The record appears in its list view in the dashboard.
The record list shows the correct count of published records.
- If the object is connected to a page section in SG-Builder,
that section renders the record correctly on the page. The fields you chose to display are visible. The image loads. The layout is consistent.
- You can add a second record using the same form. The
schema is stable — no field is missing, mistyped, or in the wrong order.
- If you edit an existing record and save, the change
appears on the site without touching the page or the template.
The schema can be edited after records exist — you can add new fields without losing existing record data. You cannot change a field's type without deleting the field. Plan your field types carefully before the first record is saved.
What to do if it does not work
The schema does not save. Check that both the singular and plural name fields are filled. SGEN requires both. The slug field must contain only lowercase letters, numbers, and hyphens — no spaces, no uppercase, no special characters. If the slug contains invalid characters, the save fails with a validation error. Fix the slug and try again.
The object type does not appear in the Custom Objects sidebar. Browser cache is the most common cause. Hard refresh the page (Ctrl+Shift+R on Windows, Command+Shift+R on Mac). If the object type was created, it may take up to thirty seconds to appear in the sidebar navigation. If it still does not appear after a minute, navigate directly to the admin → Custom Objects and check the object type list.
A field type is wrong and records already exist. You cannot change the field type without deleting the field. Before deleting, copy any data from that field in every existing record — you will re-enter it after the field is rebuilt. Delete the field from the schema. Add a new field with the correct type. Re-enter the data in each record. If the dataset is large, do this off-peak hours — the field deletion is immediate and permanent.
Records are not rendering in a page section. Open the SG-Builder editor on the page. Select the Custom Object Section. Check the Object Type selector — confirm it is pointing to the correct type. Check the Records to show setting — confirm it is set to Published records, not Draft only. If the section was added before any records were published, the display may still be showing the empty state. Publish at least one record, then reload the page editor and check again.
The detail page returns a 404. Two causes. First: no template is assigned to the object type. Go to Custom Objects → your object type → Settings and check the Template field. If it is blank, assign a template. If you do not have a template for this object type yet, SGEN falls back to the system default — check that the system default is enabled under Settings → Templates. Second: the record is still in Draft status. Draft records do not have a live public URL. Publish the record and try the URL again.
An image field is not displaying the image. Open the record and check the image field. If the field shows a file name but the image does not load on the preview, the media file may have been deleted from the Media library. Go to Media and search for the file name. If it is not there, re-upload the image through Media and re-link it in the record image field. Images are stored in Media and referenced by records — deleting the Media file breaks any record that references it.
A reference field cannot find records to link. Reference fields point to records in another object type. If the dropdown is empty, either the target object type has no published records, or the object type was set up incorrectly in the field definition. Check the target object type and confirm it has at least one published record. If the target type is correct but still does not appear, delete the reference field and re-add it, selecting the target object type from the dropdown again.
The schema was saved with a field in the wrong order. Open the object type field editor. Drag fields into the correct order using the drag handle on the left of each row. Save the schema. The new order applies to the record editor immediately. Existing records are not affected — the data is unchanged, only the form layout changes.
## Related reading