Custom post types

Build Forum Style Communities with Custom Post feature

Italo Orihuela
Italo Orihuela
Mar 30, 2024

In the world of app development, flexibility is key. The ability to customize features and tailor them to your specific needs can significantly enhance the user experience. One such feature that offers immense flexibility is the ability to create custom post types. This feature, available in the Amity Social Cloud SDK, allows you to define your own post structure, catering to the unique needs of your community. This not only enriches the content variety but also provides a real forum-style experience. Let’s delve into how you can leverage this feature to create a more engaging and personalized user experience.


Before we start, ensure you have the following:

  1. Basic knowledge of TypeScript
  2. An installed and configured TypeScript environment
  3. The Amity SDK installed in your project
  4. An Amity Social Cloud Portal account
  5. An Amity Social Cloud Console Account

Note: If you haven’t already registered for an Amity account, we recommend following our comprehensive step-by-step guide in the Amity Portal to create your new network.

Step 1: Understanding Custom Post Types

Custom post types are a powerful feature that allows you to define your own post structure. This is particularly useful when the standard text, image, video, and file post types do not suffice. For instance, you might want to create a custom post type for birthday messages, where users can include their birthday wishes along with an image or video.

Step 2: Defining the Custom Post Type

To define a custom post type, you need to specify two parameters: dataType and data. The dataType is a string that defines the type of the post, allowing you to distinguish your new post from others. The data is a free-form JSON object that can be customized based on your use cases. For instance, for a birthday post, the data might include the user's ID, the birthday message, and the text of the post.

Step 3: Creating the Custom Post

To create a custom post, you can use the PostRepository.createPost method provided by the Amity Social Cloud SDK. This method takes an object that includes the targetId, targetType, dataType, tags, attachments, data, and mentionees. The targetId and targetType specify where the post should be created (e.g., a user feed or a community feed), the dataType should be set to your custom post type, and the data should include the necessary data for your post.

Here is an example of how to create a custom birthday post:

Step 4: Handling the Post Creation Result

The PostRepository.createPost method returns a promise that resolves to the created post. You can use this post object to display the post in your app or handle any post-creation logic. For instance, you might want to display a success message to the user or update your app's UI to include the new post.

Step 5: Emphasizing the Flexibility of Custom Post Types

One of the standout features of custom post types is their flexibility. They can be tailored to any type of UI, making it easy to customize and provide a real forum-style experience. This means you can create a post type that perfectly fits your community’s needs, whether it’s a Q&A post, a poll, or a birthday greeting. This flexibility not only enhances the user experience but also makes your app more engaging and interactive.

Final Thoughts

Creating custom post types in TypeScript allows you to provide a more personalized and engaging user experience, enabling Forum style communities. By defining your own post structure, you can cater to the specific needs of your community and allow users to share a variety of content types. With the Amity Social Cloud SDK, creating custom post types is a straightforward process that can greatly enhance the functionality of your app. If you want to know more, please feel free to contact Amity!