# October 28, 2026

> Joining the community can go through the team's approval, and restricted areas show with a padlock to people who don't have access yet, with a Talk to the team button where only the team can let them in. WhatsApp gains ten new platform messages, all on by default, from the visitor at the front desk to the certificate issued. And the templates WhatsApp classifies as marketing now only reach people who accepted news, with email as the path for everyone else. And each Feed chooses whether it shows only its own posts or the whole section. And post tags now filter the Feed and Content with one click. And screens show who else is on them, with notices when someone edits or saves the same item. And a post becomes an e-mail campaign in one click. And long posts show up cut with "…see more", and whoever runs the community now sees how many people read them, expanded them and clicked their links.

## What's new

- **Sign-up with approval.** In **Settings › Access and sign-up › Access Control**, the **Allow New Sign-ups** toggle gives way to **Who can join**: **Open**, **With approval** or **Closed**. With approval, **Ask to join** replaces **Sign Up**: the person sends their name, email and the sign-up fields, with no password, and the request goes to the pending queue, in **Members › Pending**. The owner and admins approve one by one or in bulk (up to 100 at a time) and reject with an optional reason; whoever is approved gets the email to create a password. A request nobody answers expires in 30 days. The team is notified in the bell and by email in the new **Join requests** category, in [Emails from this community](/notificacoes/emails-desta-comunidade), on by default. See [Sign-up with approval](/membros/cadastro-e-entrada#sign-up-with-approval).
- **For those without access: restricted areas with a padlock.** Restricted sections and spaces (by group, plan, product, **Members** or **Subscribers**) now show **with a padlock** to people without access: only the title and description, never the content, and a click leads to the way in (subscribe, buy, sign in). To pick another mode, the owner or an admin edits the section and, under **For those without access**, chooses **Hide**, **Section only** or **Section and spaces** (the default); each space follows the section or has its own mode (**Same as the section**, **Hide** or **Show with a padlock**). Team-only areas (nobody under **Who gets in**) never show to anyone else and now carry the **Team only** badge. See [For those without access](/conceitos/visibilidade-e-acesso#for-those-without-access).
- **Heads-up, if you have restricted areas that shouldn't show.** Every section that already existed is now set to **Section and spaces**, and every space to **Same as the section**: group, subscriber or member areas that used to disappear for people without access now show with a padlock, with their title and description. For an area to stay invisible, switch it to **Hide**.
- **Talk to the team.** In a padlocked area unlocked by a group (or with nothing on sale), the exclusive-access screen has a **Talk to the team** button, which opens a chat conversation with someone on the team who can grant access. It shows when chat is on and someone is available to answer. See [The Talk to the team button](/conceitos/visibilidade-e-acesso#the-talk-to-the-team-button).
- **Ten new platform messages on WhatsApp.** With WhatsApp on, Memberfy now sends on its own: the **visitor at the front desk** (to whoever invited them), the **parcel received**, the **booking reminder** 1 hour before (to whoever booked and to the host), the **subscription renewing in 3 days**, the **card expiring this month**, the **refund processed**, the **waitlist spot opened**, the **reply to a support ticket** and the **certificate issued**. **Sign-up approved** arrives with sign-up with approval, below. They all start on: the community turns off what it doesn't want under **Platform messages**, on the WhatsApp card, and each person in **My Account › Notices**. The Business or Scale plan, quiet hours, the daily cap and the per-person limit apply. See [Platform messages](/notificacoes/avisos-por-sms-e-whatsapp#platform-messages-on-whatsapp).
- **SMS and WhatsApp consent declared by the team.** When the community collected consent outside Memberfy (a meetup form, a signed form), the owner or the admin records that consent through the API or the assistant, declaring that the community collected it. In the spreadsheet import, the SMS and WhatsApp consent columns, with the attestation, now also apply to existing members, and the spreadsheet's phone replaces the one on the profile. Anyone who left the channel is never re-enrolled. See [Consent declared by the team](/notificacoes/avisos-por-sms-e-whatsapp#consent-declared-by-the-team).
- **The phone the team provides can receive right away.** The phone the team provides when declaring the consent, through the API, the assistant or the import, gets SMS and WhatsApp without the code verification, while it is the profile's current phone. It is not verified: verification codes still require the person, and consent, opt-out (including STOP and SAIR), quiet hours and caps apply just the same.
- **More templates in workflows.** The **Send WhatsApp** block now offers *Booking reminder*, *Subscription renewing*, *Refund*, *Waitlist spot* and *Certificate issued*. See the full list in [Send SMS and Send WhatsApp](/notificacoes/workflows#send-sms-and-send-whatsapp).
- **Each Feed chooses what it shows.** When creating and editing a Feed space, the owner and the admin choose **What this feed shows**: **Only this space's posts** or **Every space in this section**. A section can now have a general Feed that brings everything together, plus News or Jobs feeds with only what's posted in them. The only Feed of a section starts out bringing the section together; a Feed created in a section that already has one starts out with only its own posts. See [What this feed shows](/espacos/feed#what-this-feed-shows).
- **Heads-up for sections with more than one Feed.** In those sections, each Feed now shows only its own posts. No post is gone: each one stays in the space where it was published. To make a Feed bring the section together again, edit the space and choose **Every space in this section**. The only Feed of a section stays as it was.
- **Clickable tags in Feed and Content.** Feed statuses get a **Tags (optional)** field, when posting and when editing, like Content posts: up to 10 tags of 40 characters. Tags show on the card as `#jobs`, and a click filters the list right there, with **Showing only #jobs ×** at the top; the **×** goes back to the full list. Case and accents don't matter: `Jobs`, `jobs` and `#jóbs` filter the same. The filter stays in the address (`?tag=jobs`) and respects each person's access. See [Clickable tags](/espacos/feed#clickable-tags).
- **Who is here and team editing.** Each screen header shows, on the right, the faces of who else is there (faded when away for 30 seconds, with a pencil when editing). In the editors (event, campaign, e-mails, workflow, course, form, survey, certificate template and Settings), **Someone is also editing** and **Someone saved changes** appear, with **Reload**; and if someone saved before you, the **Someone else saved before you** window lets you choose between **See the saved version** and **Keep mine**. Nothing is overwritten without warning. With the community chat off, no faces show; only people editing the same item still see each other. See [Who is here and team editing](/conceitos/presenca-e-edicao-em-equipe).
- **A post becomes an e-mail campaign in one click.** In the **…** menu of a published post (on the card, on the post page or in the Feed), **Create email** creates a campaign draft with the title, the subtitle, the cover, the whole text and the **Read in the community** button, and with the **People who can access {title}** audience, recalculated on every send: a subscribers-only post reaches only those who can open it. Moderators and finance create the draft; only the owner and admins send it. See [Send a post by e-mail](/notificacoes/campanhas-de-email#send-a-post-by-e-mail).
- **Posts with "…see more" and post reads.** In the Feed and in the space's list, the text of a long post is cut at about five lines, with **…see more**, which opens the whole text right there (**see less** collapses it); the button is centered, with a chevron, in the community's color. Title, cover and player stay outside the cut; in a cut post, the link cards and the list of links only show up after **…see more** (short posts show everything, as before), and the post page shows everything. On the post page, the owner, the admin and the author see **Reads of this post**: how many people opened the post, opened **…see more** and clicked a link, and the **Most clicked domains** (only the domain is kept; clicks inside players such as YouTube and Spotify don't count). Each number counts one person per day, and counting starts today. In **Administration › Analytics › Overview**, the **Most read content** block shows the period's most read posts, for the owner and the admin. See [Reads of this post](/espacos/conteudo#reads-of-this-post) and [Most read content](/membros/analytics#most-read-content).
- **Pin posts in the Feed and in the space.** In the **⋮** menu of a Content post, in the Feed and in the space's list, the owner, the admin and the moderator now have **Pin to top** and **Unpin**, as status and events already had. The pinned post moves to the top of the space and of the Feed with the **Pinned** bar and shows whole, with no **…see more** and the link cards in view. See [Pin to top](/espacos/conteudo#pin-to-top).

## Improvements

- **Phone and channels in Profile.** In **My Account › Profile**, right below **Phone**, **Confirm number** sends the 6-digit code on WhatsApp (by SMS when the community doesn't use WhatsApp), and one switch per channel, **Get notices and news by SMS** and **on WhatsApp**, authorizes reminders, tickets, pending items and news at once. **My Account › Notices** keeps only the categories and the WhatsApp messages. See [My Account › Profile](/notificacoes/avisos-por-sms-e-whatsapp#my-account-profile-the-phone-and-the-channels).
- **Marketing templates only for people who accepted news.** Before, *Community notice* and *Feedback received* reached people with only the service consent. Now, since WhatsApp classifies them as marketing, they only reach people who accepted news on WhatsApp, like *Purchase not completed*, *Mention* and *New content*. In a workflow, a **Send email** after the block reaches everyone else. See [Marketing templates](/notificacoes/avisos-por-sms-e-whatsapp#marketing-templates).
- **A deleted item or wrong link is now clear.** Opening an event, course, campaign, product, workflow or other item that was deleted says it no longer exists and shows the way back to the list. A connection failure appears separately, with "Try again".
- **Readable names in approved templates.** On the WhatsApp card, the **Approved templates** list now shows the ten new templates with their name and purpose in the dashboard language (*Visitor arrived*, *Booking reminder*, *Support ticket answered*…), instead of the internal code.
- **The new post notice goes only to people who can open the post.** In a community with paid entry, a members-only post no longer notifies people still waiting for their entry to be released. See [New content notices](/notificacoes/avisos-de-novidade).
- **The post's player moves up to the cover's place.** A post with no cover and no video of its own now opens with the first audio or video link in its text (Spotify, YouTube, Vimeo, SoundCloud…) at the top, on the Feed card, in the list and on the post page, without repeating the player below. A podcast episode with only a Spotify link already shows with the player. Plain link cards stay where they are. See [Links become a player or a card](/espacos/conteudo#links-become-a-player-or-a-card).
- **The official community in the directory.** Memberfy's own community now shows first in the [directory](/configuracoes/diretorio-da-memberfy) (hub.memberfy.net), with the **Official community** badge: news, tutorials and exchange among people who lead communities. The website gained an **Our community** link that takes you there.
- **Website:** home page and the pages for communities, companies and HR, and coworkings rewritten, each with the Memberfy Cast episode for its audience.
- **New security controls.**

## Fixes

- **The e-mail button opens the post.** **Read in the community** in new post notices and in the campaigns' **Latest posts** block opens the post again, including in e-mails already sent.
- **Signing up with an e-mail that has an account in another community.** People who already had an account in another Memberfy community got "e-mail already registered" when signing up to yours. Now the sign-up works with the same e-mail and creates a new, separate account with its own password. The e-mail is only refused when it already has an account in your community.
- **Back on a post opened from a direct link takes you to the space.** When a post was opened from a direct link, clicking **Back** did nothing. Now the button takes you to the post's space.
- **Pinning in the Feed works again for the team.** Pinning a status, an event or a post in the Feed works again for the owner, the admin and the moderator.
- **The Feed shows your options right after login.** After you sign in, the Feed already shows your **⋮** menu and **Edit**, with no need to reload the page.

## For developers

### API

- Directory: `GET /api/public/hub/communities` and `GET /api/public/hub/communities/{slug}` carry `official: true` on Memberfy's official community, which comes first in the list; the other ones don't carry the field. See [Hub](/api/referencia/hub).
- Sign-up with approval: `signupRequiresApproval` in `PATCH /api/communities/{id}/settings`; `POST /api/auth/signup-request` (public, always `202`); `GET /api/signup-requests`, `POST /api/signup-requests/approve` and `POST /api/signup-requests/reject`; the `member.joined` webhook gains `source: approval`. See [Sign-up and entry](/membros/cadastro-e-entrada).
- For those without access: `lockedDisplay` on `POST`/`PUT` of sections and spaces, `locked` and `lockReason` in the listings, and `GET /api/sections/{id}` with `denial`. See [Visibility and access › In the API](/conceitos/visibilidade-e-acesso#in-the-api).
- Talk to the team: `POST /api/chat/contact-team` (`spaceId` or `sectionId`); a padlocked refusal carries `canContactTeam`.
- `moments` in `/api/whatsapp/settings` and `whatsapp.moments` in `/api/members/me/notice-preferences` gain `visitorArrived`, `parcelArrived`, `bookingReminder`, `subscriptionRenews`, `cardExpiring`, `refundProcessed`, `waitlistOffer`, `supportReply`, `certificateIssued` and `joinApproved`. `whatsappNode.templates` (`GET /api/workflows/triggers`) gains `bookingReminder`, `subscriptionRenews`, `refundProcessed`, `waitlistOffer` and `certificateIssued`; a template outside the list comes back with `whatsappTemplateInvalid`. `category` in `GET /api/whatsapp/templates` shows the classification WhatsApp applied (`MARKETING` included); people who didn't accept news are skipped with `whatsappNoConsent`.
- `feedScope` (`space` or `section`) in `POST /api/spaces` and `PUT /api/spaces/{id}`, Feed spaces only, for owner and admin. `GET /api/feed` with `spaceId` follows the space's `feedScope`, and the new `sectionId` brings the whole section together. See [Sections and spaces](/api/referencia/sections-spaces) and [Feed](/api/referencia/feed).
- Consent declared by the team: `POST /api/contact-consent/attestations` (owner and admin; `attestation: true`, `channels`, `purpose`, up to 200 `members`; the response has `sendable` per member), the `team` origin and the `attestationMethod` field in `GET /api/members/{memberId}/contact-consents`; in the import, `smsConsent` and `whatsappConsent` with the attestation also apply to existing members, with the row warnings `CONSENT_WITHDRAWN` and `PHONE_KEPT_VERIFIED`. See [SMS and WhatsApp notices › In the API](/notificacoes/avisos-por-sms-e-whatsapp#in-the-api).
- Tags: `tag` on `GET /api/feed` and `GET /api/content`; `tags` (up to 10 of 40 characters) on `POST` and `PUT` of `/api/status` and `/api/content`. See [Content › In the API](/espacos/conteudo#in-the-api).
- Version in the editors: saves accept `updatedAt` (on the community row, `settingsUpdatedAt`) or `If-Unmodified-Since` and answer `409` with the current version when another save came first; it is optional. See [Version conflict](/api/respostas-e-erros#version-conflict). On the WebSocket, `presence.join`, `presence.leave` and `presence.active`, the `presence` snapshots and the `item.saved` notice. See [Realtime](/api/tempo-real#who-is-here).
- Campaign from a post: `POST /api/campaigns/from-content` (`contentId`; team), the `itemAccess: { type: "content", id }` audience (exclusive), `itemAccess` in the audience preview, `sourceItem` on campaigns and `canCreateCampaign` in the Content list, the post detail and the Feed. See [E-mail campaigns › In the API](/notificacoes/campanhas-de-email#in-the-api).
- Post reads: `GET /api/analytics/content` (the period's most read content; owner and admin) and `GET /api/analytics/content/{contentId}` (one post's metrics; owner, admin and the author, `403` for others). The collector `POST /api/analytics/events` accepts `post_expand` and `post_link_click` (domain only), and `page_view` carries `contentId`; the post detail carries `canViewMetrics`. See [Analytics › In the API](/membros/analytics#in-the-api).

### MCP: technical details

- `list_signup_requests`, `approve_signup_request` and `reject_signup_request` handle the join-request queue; `update_community_settings` accepts `signup_mode` (`open`, `approval`, `closed`). See [Tools · Members](/mcp/ferramentas-membros#list-signup-requests).
- `locked_display` on `create_section`, `update_section`, `create_space` and `update_space`; `list_spaces` shows `locked` and `lock_reason`. See [Tools · Community and structure](/mcp/ferramentas-comunidade).
- `contact_team` opens the conversation with the team from a padlocked area.
- `create_space` and `update_space` take `feed_scope` (`space` or `section`, Feed module only); `list_spaces` shows each Feed's `feed_scope`; `list_posts` takes `section_id`, and a Feed's `space_id` follows its `feed_scope`. The `delete_section` description is fixed: the section must be empty, and its spaces are deleted first with `delete_space`. See [Tools · Community and structure](/mcp/ferramentas-comunidade#update-space).
- `attest_contact_consent` records the SMS or WhatsApp consent the community declares it collected (asks for confirmation); `preview_member_import` and `start_member_import` take the `sms_consent` and `whatsapp_consent` columns, with the attestations; `list_member_contact_consents` shows the `team` origin; the result of `attest_contact_consent` has `phone_verified` and `sendable`. See [recipe 99](/mcp/receitas#99-record-the-sms-consent-from-the-meetup-form).
- `list_posts` takes `tag`; `create_post`, `create_short_post` and `update_post` take `tags`. See [Tools · Content](/mcp/ferramentas-conteudo#list-posts) and [recipe 98](/mcp/receitas).
- `create_campaign_from_content` creates the campaign draft from a post (the app's **Create email**); `create_campaign`, `update_campaign` and `preview_campaign_audience` accept the `item_access` audience, and the `send_campaign` and `schedule_campaign` confirmation shows the post title and how many people receive it, or warns when the post went offline; `list_posts` carries `canCreateCampaign`. The server now has [883 tools](/mcp/ferramentas). See [Tools · Community and structure](/mcp/ferramentas-comunidade#e-mail-campaigns) and [recipe 100](/mcp/receitas#100-e-mail-a-post-to-the-people-who-can-read-it).
- `analytics_report` gets `view: "content"`, the period's most read content (owner and admin), and the new tool `get_post_metrics` reads a post's reads, expansions, clicks and most clicked domains, by id, link or title (the author sees only their own posts). Ask *"Which posts were most read this month?"* or *"How many clicks did the 'Welcome' post get?"*. The server now has [884 tools](/mcp/ferramentas). See [`get_post_metrics`](/mcp/relatorios-e-graficos#get-post-metrics).
