diff --git a/core/src/main/java/org/futo/circles/core/workspace/ConfigureWorkspaceDialogFragment.kt b/core/src/main/java/org/futo/circles/core/workspace/ConfigureWorkspaceDialogFragment.kt
index 917d615a279917efce4efe0e13815cbd70f453c7..d2060278b64f3ae66e4f4d1f8e2f7ee05941f4d0 100644
--- a/core/src/main/java/org/futo/circles/core/workspace/ConfigureWorkspaceDialogFragment.kt
+++ b/core/src/main/java/org/futo/circles/core/workspace/ConfigureWorkspaceDialogFragment.kt
@@ -1,25 +1,35 @@
 package org.futo.circles.core.workspace
 
-import android.content.BroadcastReceiver
-import android.content.Context
-import android.content.Intent
 import android.os.Bundle
 import android.view.View
+import androidx.fragment.app.Fragment
 import androidx.fragment.app.viewModels
+import androidx.recyclerview.widget.DividerItemDecoration
 import dagger.hilt.android.AndroidEntryPoint
+import org.futo.circles.core.R
 import org.futo.circles.core.databinding.DialogFragmentConfigureWorkspaceBinding
+import org.futo.circles.core.extensions.observeData
+import org.futo.circles.core.extensions.observeResponse
+import org.futo.circles.core.extensions.showError
 import org.futo.circles.core.fragment.BaseFullscreenDialogFragment
+import org.futo.circles.core.fragment.HasLoadingState
+import org.futo.circles.core.workspace.list.WorkspaceTasksListAdapter
 
 @AndroidEntryPoint
 class ConfigureWorkspaceDialogFragment :
-    BaseFullscreenDialogFragment(DialogFragmentConfigureWorkspaceBinding::inflate) {
+    BaseFullscreenDialogFragment(DialogFragmentConfigureWorkspaceBinding::inflate),
+    HasLoadingState {
 
+    override val fragment: Fragment = this
     private val viewModel by viewModels<ConfigureWorkspaceViewModel>()
 
     private val binding by lazy {
         getBinding() as DialogFragmentConfigureWorkspaceBinding
     }
 
+    private val tasksAdapter by lazy {
+        WorkspaceTasksListAdapter { viewModel.onOptionalTaskSelectionChanged(it) }
+    }
 
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
@@ -28,12 +38,29 @@ class ConfigureWorkspaceDialogFragment :
     }
 
     private fun setupViews() {
-
+        with(binding) {
+            rvWorkspaceTasks.apply {
+                adapter = tasksAdapter
+                addItemDecoration(DividerItemDecoration(context, DividerItemDecoration.VERTICAL))
+            }
+            btbCreate.setOnClickListener {
+                startLoading(btbCreate)
+                viewModel.createWorkspace()
+            }
+        }
     }
 
     private fun setupObservers() {
+        viewModel.tasksLiveData.observeData(this) {
+            tasksAdapter.submitList(it)
+        }
+        viewModel.workspaceResultLiveData.observeResponse(this,
+            success = {
 
+            },
+            error = {
+                showError(it)
+                binding.btbCreate.setText(getString(R.string.retry))
+            })
     }
-
-
 }