How to hook save-post function to use taxonomy term in post-slug?

To solve your magic question(s) you might need a little chain of processes, or just do something obvious simple.

If I understand right, in the end, the current post you are saving, gonna change its slug (url) by pushing any “belonging” term name into the post url (slug)?

Scenario A)
If it is NOT a automated process/ batch, just edit the slug below the post title and put the words you want, then click on update post.

Scenario B)
Hook into save_post action and do a lot of stuff:

Take a first look at: Codex for:

wp_get_object_terms($post_id...
wp_set_object_terms($post_id...

In the end, the process gonna call:

wp_update_post(array(
    'ID' => $post_id,
    'post_name' => 'some-new-slug'
));

Working inside add_action('save_post', 'do_stuff') with wp_update_post() remember to remove YOUR action once you’re done, to prevent the classic infinitive loop.

You also must decide which term you wanna use? category? tag? Product-colors? All of them and more taxonomies, might exists or related in a single post.

Well, This is a macro, shell or idea to point you in the direction:

function do_stuff($post_id){
    remove_action('save_post', 'do_stuff');
    global $post;
    $current_slug = $post->post_name;
    $categories = wp_get_object_terms($post_id, 'category', array('fields' => 'slug'));
    foreach(... Look at codex link above, you only might need ONE slug to merge with.

    $new_slug = $current_slug.'-'.$category_slug;

    wp_update_post(array(
        'ID' => $post_id,
        'post_name' => $new_slug
    ));

}
add_action('save_post', 'do_stuff');

Hope you got some flesh on the bones or Fläsk på bena, as we say in Sweden.