Query connected posts from 2 diffrent post types (using posts2posts)

There are two critical things you need to do when setting up your query.

You need to set all the post types you want to look for and you need to set all the connection types you want to look for. Setting up multiple values for post type or connection type is done with arrays.

Quick example below. Of course you need to set all the other arguments for your query, but this should contain all the key arguments you need. Don’t just copy the code since your connection type names are probably a bit different than in this quick example of mine.

$post_types = array('post','agenda');
$connection_types = array('post_to_charity','agenda_to_charity');
$args = array(
    'connected_type' => $connection_types,
    'connected_items' => get_queried_object_id(),
    'post_type' => $post_types
    );
$connected_stuff = new WP_Query($args);

—edit—
Answer to your follow-up question below. You could mix your two separate arrays like this. Just create array of your posts and array of your agendas. Mix and output the mixed array. NOT SURE if this is the smartest way. Not really sure what you actually want to achieve. But this would work no matter how many posts or agendas.

$posts = array();
$agendas = array();
$results = array();
$posts[0] = 'first post';
$posts[1] = 'second post';
$posts[2] = 'third post';
$agendas[0] = 'first agenda';
$agendas[1] = 'second agenda';
$agendas[2] = 'third agenda';
while(!empty($posts) || !empty($agendas)) {
    if(!empty($posts)) {
        $results[] = array_shift($posts);
    }
    if(!empty($agendas)) {
    $results[] = array_shift($agendas);
    }
}
foreach($results as $result){
    echo $result;
}