       # channelId for mapping social API
       # to internal usage
       socialApiChannelId: String
+      socialApiDefaultChannelId: String
       avatar        : String
       slug          :
         type        : String

        # required data for creating a channel
        privacy = if @slug is "koding" then "public" else "private"

        data =
          name            : @slug
          creatorId       : socialApiId
          groupName       : @slug
          typeConstant    : "group"
          privacyConstant : privacy

        {createChannel} = require '../socialapi/requests'
        createChannel data, (err, socialApiChannel)=>
          return callback err if err
          @update $set: socialApiChannelId: socialApiChannel.id, (err)->
            return callback err if err
            return callback null, socialApiChannel.id

        callback()

  createSocialApiChannelId: (callback) ->
    if @socialApiChannelId and @socialApiDefaultChannelId
      return callback null, @socialApiChannelId
    @fetchOwner (err, owner)=>
      return callback err if err
      unless owner
