Codementor Events

Building Team Workflows in Cosmic JS

Published Jul 13, 2018
Building Team Workflows in Cosmic JS

Cosmic JS provides tools and resources to create your own unique content publishing workflow that satisfies your team's needs. In this tutorial I'll demonstrate setting up a simple workflow for an Editor and Contributor team that needs to manage content in a draft, review and publish process. We'll also use Webhooks to integrate with Slack to notify the Editor when content is drafted by the Contributor. Let's get started.

Note: While the example that I'm demonstrating is for a publication, editorial or marketing team, you can think of the editor / contributor relationship as the management / execution layer of any team.

Start by Inviting Your Contributors

Navigate to the left hand nav bar within your Cosmic JS Bucket Dashboard, click Settings and then click Users. You can extend user permissions via email for collaboration within your Bucket.

2cf0dd10-85f3-11e8-a0fe-573562e2b1dc-ice_screenshot_20180712-114518.png

When inviting my contributors, Cosmic JS gives me granular control over what Object Types this new Contributor is allowed to draft. I choose Blogs for this example, meaning my new content contributor can only draft Objects within the Blogs Object Type.

354c2550-85f3-11e8-a175-e302e7382dd5-ice_screenshot_20180712-114550.png

Now that I’ve sent a notification to the contributor, I will set up notifications in Slack so I can be notified when my contributor has set a blog post to draft.

Set up Webhooks to receive Slack Notifications

e79fd0e0-8601-11e8-a175-e302e7382dd5-2ca6e910-5a27-11e7-b391-297f686fd25c-cosmicjs-slack.jpg

When my contributor drafts content within the Cosmic JS Bucket Dashboard, I want to receive a notification so that I can check their work and either send it back to them for additional review or publish. Note: as the Admin, Developer or Editor roles you can always edit and overwrite contributor content changes at any time.

To receive notifications I will need to have my developer set up Cosmic JS Webhooks. Webhooks are used to trigger a POST request to the endpoint of your choice when an event occurs in your Bucket. Options for the channel notifying your team are numerous, but a couple of quick examples would be via Slack or SendGrid.

Connect your Cosmic JS Buckets to Slack:

  1. Install the Cosmic JS Slack app to your Slack account by clicking here.

7260def0-8610-11e8-8eb4-b590a9010454-ice_screenshot_20180712-151517.png

  1. Select which channel you would like to receive the notifications and click "Authorize".
    6e18dd60-8602-11e8-ac32-c7936fc78698-ice_screenshot_20180712-133524.png

  2. After you install the Slack app, copy the webhook link provided.
    7fffa820-8610-11e8-a789-f38a055d5c82-ice_screenshot_20180712-151553.png

  3. Paste the webhook link into the Endpoint input field. Documentation and a list of available Webhook events can be found here.
    b5634030-8601-11e8-aec1-ad2d5260bdb1-ice_screenshot_20180712-132242.png

Now every time my contributor creates and saves a draft within my Bucket, I'll be notified through Slack to review the work and schedule publishing. When it comes time for edits (and peace of mind) Cosmic JS provides audit logs with time-stamped revision updates that track authors as well as Revision History, which allows you to revert back to previous versions.

Conclusion

I've just created a simple content publishing workflow for my team. In just a few steps I've invited a contributor to my Bucket and set up an automated system for notifying our team of new content changes being drafted. This is one of many possible workflows you're able to create with Cosmic JS User Permissions and Webhooks.

If you have any comments or questions about building content workflows with Cosmic JS, reach out to us on Twitter and join the conversation on Slack.

Discover and read more posts from Carson Gibbons
get started