diff --git a/packages/presentation/src/components/ObjectPopup.svelte b/packages/presentation/src/components/ObjectPopup.svelte
index 80aef9b4e2..2c6a9bb4ce 100644
--- a/packages/presentation/src/components/ObjectPopup.svelte
+++ b/packages/presentation/src/components/ObjectPopup.svelte
@@ -20,6 +20,7 @@
   import { ObjectCreate } from '../types'
   import { createQuery } from '../utils'
   import DocPopup from './DocPopup.svelte'
+  import { createEventDispatcher } from 'svelte'
 
   export let _class: Ref<Class<Doc>>
   export let options: FindOptions<Doc> | undefined = undefined
@@ -47,6 +48,7 @@
   export let disallowDeselect: Ref<Doc>[] | undefined = undefined
 
   const created: Doc[] = []
+  const dispatch = createEventDispatcher()
 
   let search: string = ''
   let objects: Doc[] = []
@@ -106,7 +108,10 @@
   on:close
   on:changeContent
   on:search={(e) => (search = e.detail)}
-  on:created={(doc) => created.push(doc.detail)}
+  on:created={(doc) => {
+    created.push(doc.detail)
+    if (!multiSelect) dispatch('created', doc.detail)
+  }}
   {created}
 >
   <svelte:fragment slot="item" let:item>
diff --git a/plugins/contact-resources/src/components/CreatePerson.svelte b/plugins/contact-resources/src/components/CreatePerson.svelte
index f4f913ec50..29a7db7bb5 100644
--- a/plugins/contact-resources/src/components/CreatePerson.svelte
+++ b/plugins/contact-resources/src/components/CreatePerson.svelte
@@ -47,7 +47,7 @@
 
     person.avatar = await avatarEditor.createAvatar()
 
-    await client.createDoc(contact.class.Person, contact.space.Contacts, person, id)
+    const personId = await client.createDoc(contact.class.Person, contact.space.Contacts, person, id)
 
     for (const channel of channels) {
       await client.addCollection(contact.class.Channel, contact.space.Contacts, id, contact.class.Person, 'channels', {
@@ -55,7 +55,7 @@
         provider: channel.provider
       })
     }
-    dispatch('close')
+    dispatch('close', personId)
   }
 
   let channels: AttachedData<Channel>[] = []
diff --git a/plugins/contact-resources/src/components/UsersPopup.svelte b/plugins/contact-resources/src/components/UsersPopup.svelte
index 41042e0734..9159790c57 100644
--- a/plugins/contact-resources/src/components/UsersPopup.svelte
+++ b/plugins/contact-resources/src/components/UsersPopup.svelte
@@ -19,6 +19,7 @@
   import presentation, { getClient, ObjectCreate, ObjectPopup } from '@hcengineering/presentation'
   import { AnySvelteComponent, Label } from '@hcengineering/ui'
   import UserInfo from './UserInfo.svelte'
+  import { createEventDispatcher } from 'svelte'
 
   export let _class: Ref<Class<Contact>>
   export let options: FindOptions<Contact> | undefined = undefined
@@ -37,7 +38,7 @@
   export let readonly = false
 
   const hierarchy = getClient().getHierarchy()
-  // const dispatch = createEventDispatcher()
+  const dispatch = createEventDispatcher()
 
   $: _create =
     create !== undefined
@@ -68,6 +69,7 @@
   on:update
   on:close
   on:changeContent
+  on:created={(doc) => dispatch('close', doc.detail)}
   {readonly}
 >
   <svelte:fragment slot="item" let:item={person}>