Auto Generate Title for Custom Post Type

Put this code in functions.php

add_filter('wp_insert_post_data','dsgnwrks_update_title',99,2);
function dsgnwrks_update_title($data, $postarr) {
global $post;
  if ( !is_admin() )
        return $data;

    if ($data['post_type'] == 'viewpoints') {

        $data['post_name'] = sanitize_title( date_i18n( 'F-j-Y-G-i-s', strtotime( $post->post_date ) ). '-viewpoint' );

        $data['post_title'] = 'Viewpoint - '.date_i18n( 'M j, Y @ G:i', strtotime( $post->post_date ) );

        return $data;
    } else {
        return $data;
    }
}

Source