You create a Facebook event from the Events section of the left menu on desktop, or from the Menu tab in the mobile app, then choose whether it happens in person or online. The decision that shapes everything afterward is made in the first thirty seconds: whether the event belongs to your personal profile or to a Page. That single choice controls the privacy options, who can appear as an additional host, and whether you can ever put money behind it.
The rest of this guide covers where each option lives, what changes between a personal event and a Page event, how recurring events and ticket links behave, and what you can and cannot do through the API, which is a shorter list than most developers expect.
Personal, Page and group events compared
Facebook treats these as three different objects with different rules. Choose deliberately, because you cannot move an event between them after it exists.
| Feature | Personal profile event | Page event | Group event |
|---|---|---|---|
| Privacy options | Public or private | Public only | Visible to the group |
| Can be boosted as an ad | No | Yes | No |
| Additional hosts | Friends and Pages | Other Pages and people | Group members |
| Ticket link field | Yes | Yes | Yes |
| Shows in public event search | Only if public | Yes | Usually no |
If the event exists to grow a business, it should be a Page event. Boosting is the practical reason. A personal event reaches the people you invite and their friends, and that is the ceiling.
Creating the event step by step
On desktop, click Events in the left menu, then Create new event. On a Page, open the Page, find the Events tab or the Create menu, and pick Event so the Page is set as the host from the start. On mobile, the same flow lives under Menu, then Events.
The form asks for the same core fields in every version of the interface:
Name. Put the thing people are searching for at the front. Facebook truncates long titles in feed and in the events list, so front load the important words rather than opening with your brand name.
In person or online. In person asks for an address and shows a map. Online asks for a link, which can be a video call, a stream, or an external page. Pick this correctly at creation, because switching later confuses anyone who already saved the event.
Date and time. Always set an end time. Events without one behave oddly in reminders and stay in people’s upcoming list longer than they should.
Frequency or repeat. The option to make an event recurring appears during creation, next to the date fields. It is not available after the fact, so if you run a weekly class, set it now or you will be creating events by hand for the rest of the season.
Description. Write the practical details someone needs in the first two lines: what it is, where, and what it costs. Everything after that is optional reading.
Additional hosts, ticket links and the details people forget
Adding another host puts the event on their profile or Page too, and lets them edit it and post as the event. That doubles your organic distribution for free, which makes it the highest value field in the whole form. Add hosts before you start inviting people, because a co host added late does not retroactively push the event to their audience the way an early addition does.
The ticket link field takes an external URL. Facebook does not process the transaction, it sends people to whatever ticketing platform you already use, and the link appears as a prominent button on the event page. Put a tracking parameter on it so you can tell in your own analytics how much traffic the event page actually sent.
Two settings under the event’s options are worth checking before you publish. Whether guests can invite friends, which you usually want on for public events and off for anything with a headcount limit. And whether the guest list is visible, which matters for anything remotely sensitive.
Promoting the event
Organic reach on an event comes from three places: the people you invite directly, the feed posts you make from the event itself, and shares by hosts. Post to the event a few times before the date, because those posts reach everyone who responded rather than sitting quietly on the event page.
For paid promotion, a Page event shows a Boost event button on the event page and in Meta Business Suite. A boost is a simplified campaign, which is fine for a local event with a small budget. For anything larger, build the campaign properly in Ads Manager so you get real targeting, placement control and reporting, as described in our walkthrough on how to set up a Facebook ad campaign. If the event is one piece of a bigger push, our guide to building an event marketing strategy covers sequencing across channels.
Moderating an event once it is live
Hosts can remove posts and comments from the event discussion, remove guests, and turn off posting entirely if a public event attracts spam. On a busy public event, expect ticket scalping comments and copied listings within hours of publishing. Check the discussion daily in the week before the date.
Editing is possible after publishing, but changing the date or the location sends a notification to everyone who responded, and doing it repeatedly costs you attendance. Change it once, and post an explanation to the event so the notification has context.
Canceling and deleting are different. Canceling keeps the event page visible and notifies guests, which is the honest choice. Deleting removes it silently and leaves people holding a dead link.
What you can automate through the API
This is where a lot of projects stop. The Graph API does not support creating events. The reference for the event node states plainly that the create operation cannot be performed on that endpoint, so there is no supported way to publish an event from your own system into Facebook.
Reading is also restricted. Access to events on Users and Pages is limited to Facebook Marketing Partners, and Meta runs a separate Official Events API product for ticketing platforms and similar integrations. If you have the right access, reading an event node looks like any other Graph call.
curl -G "https://graph.facebook.com/v26.0/<EVENT_ID>" \
-d "fields=name,description,start_time,end_time,is_online,place,ticket_uri,attending_count,interested_count" \
-d "access_token=<YOUR_ACCESS_TOKEN>"Useful fields on the node include type, which distinguishes private, public, group and community events, plus is_draft, can_guests_invite and guest_list_enabled. Whether a given token can read any of it depends entirely on your app’s access level, which our guide to Facebook API authentication and access tokens unpacks in detail.
Troubleshooting
The repeat option is missing. It only appears while you are creating the event. An existing single event cannot be converted into a recurring series, so duplicate it and set the frequency on the new one.
There is no Boost event button. The event is on a personal profile or in a group. Only Page events can be promoted. Recreate it from the Page if paid reach matters.
Guests say they never got an invitation. Invitations land in the Events tab rather than as a notification for many people. Post to the event and ask hosts to share it instead of relying on the invite alone.
The event does not appear in search. Private events never do. Public events can take time to index, and a thin description with no location gives Facebook very little to match against.
An API call for events returns a permissions error. Access to Page and User events is gated to Facebook Marketing Partners. No amount of scope tuning fixes it if your app is not in that program.
Frequently asked questions
Can I create a Facebook event without a Page?
Yes. Personal profile events are fully supported and can be public or private. The tradeoff is that you cannot boost them, and their discovery depends on invitations and shares rather than on paid distribution or the public events surface.
Can I change a private event to public?
Privacy for a personal event is set at creation and generally cannot be changed once guests have been invited. If you need a different privacy level, create a new event with the correct setting rather than trying to convert the existing one.
Do additional hosts need to accept the role?
Yes. A person or Page you add as a host receives a request and the event only appears on their profile or Page once they accept. Add them early and tell them to expect it, because unaccepted host requests are the most common reason a co promoted event underperforms.
How do I sell tickets on Facebook?
Facebook does not process the payment for you in the event flow. You add a ticket link that points to your own ticketing platform, and Facebook renders it as a button. Keep pricing and refund terms on your own page where you control them.
Can my app create events for users automatically?
No. The Graph API explicitly does not support creating events, and reading events on Users and Pages is limited to Facebook Marketing Partners. Plan any integration around exporting to a calendar file or linking out, not around publishing into Facebook.
Wrapping up
Most event problems are decided in the first minute. Host it from the Page if you want to promote it, set the recurrence while the option is still on screen, add your additional hosts before inviting anyone, and give it a cover image sized for the frame it actually renders in.
After publishing, treat the event as a small feed of its own. Post updates, moderate the discussion, and change the date only once. If you are building software around all this, check the Graph API event reference first, because the limits on what an app may create and read will shape your design more than anything else.
