assets.beforeSaveEntry to upload file to secondary location in addition to Amazon S3
So this works. Now that I have the understanding of how things fire I can clean this up. I am open to better solutions.

    craft()-&gt;on('entries.onSaveEntry', function(Event $event)
    {   

        $entry = $event-&gt;params['entry'];    
        if($event-&gt;params['isNewEntry'] &amp;&amp; $entry-&gt;getSection() == 'Episode')

        {

        require_once(craft()-&gt;path-&gt;getPluginsPath().'cranberry/vendor/soundcloud/autoload.php');

        $clientID       =   'xxxxxxxxxxxxxxx';
        $clientSecret   =   'xxxxxxx';
        $username       =   'xxxx';
        $password       =   'xxxx';

        $facade = new \Njasm\Soundcloud\SoundcloudFacade($clientID, $clientSecret);
        $facade-&gt;userCredentials($username, $password); 

        $mp3File = $entry-&gt;mp3File-&gt;first()-&gt;filename;
        $url = $entry-&gt;mp3File-&gt;first()-&gt;getUrl();

        $mp3TempFile = "/var/www/pathway/craft/storage/tmp/".$mp3File;

        // download the file from amazon s3 and push it to soundcloud
        $fp = file_put_contents($mp3TempFile, fopen($url, 'r'));

        $params = array(
            'track[title]' =&gt; iconv('UTF-8', 'ASCII//TRANSLIT', $entry-&gt;title),
            'track[sharing]' =&gt; 'public',
            //'track[asset_data]' =&gt; $mp3Filepath,
            'track[description]' =&gt; iconv('UTF-8', 'ASCII//TRANSLIT', strip_tags($entry-&gt;summary)),
            'track[track_type]' =&gt; 'podcast',
            'track[genre]' =&gt; 'Learning',
            'track[license]' =&gt; 'all-rights-reserved'
            );

        $response = $facade-&gt;upload($mp3TempFile, $params);
        $fp = unlink($mp3TempFile);

        } 

    });