         success: dfd.resolve
         error: dfd.error
     else
+      block = new Block source: link.get('href')
       blocks.create block.toJSON(),
         url: "#{sd.API_URL}/channels/#{selectedChannel.get('slug')}/blocks"
         success: dfd.resolve

        dfd.resolve()
    dfd.promise

  createOrConnectBlock: (link, selectedChannel)->
    dfd = Q.defer()
    if link.has('connections')
      $.ajax
        type: "POST"
        url: "#{sd.API_URL}/channels/#{id}/connections"
        data:
          connectable_type: 'Block'
          connectable_id: link.get('block_id')

    dfd = Q.defer()
    blocks = @blocks
    selectedChannel = @selectedChannel
    existingConnections = link.get('connections') or []
    @createOrConnectBlock(link, selectedChannel, blocks).then (block) ->
        connections = existingConnections.concat [
          {
            title: selectedChannel.get('title')
