India will host the West Indies after 12 years in a two-match Test series in October while South Africa will arrive in the country for an all-format tour in November.
India will take on the Windies in the first Test at Mohali, starting on October 2, while the second Test will be held at Eden Gardens in Kolkata from October 10, BCCI vice-president Rajeev Shukla said.
The West Indies' previous Test tour to India was in 2013-14, which was also the final international outing for batting maestro Sachin Tendulkar.
The Caribbeans' last visit to India was in 2022 for three ODIs and as many T20Is.
The South Africans will be in India soon after for a series comprising two Tests, three ODIs and five T20Is, which will work as a precursor to next the year's T20 World Cup, co-hosted by India and Sri Lanka.
"The first Test will be in Delhi, while the second Test will be in Guwahati," said Shukla.
This will be the maiden Test in Guwahati, which often hosts white-ball matches, and has also been hosting IPL matches for the last two seasons.
Following the Test matches, the first ODI will be held in Ranchi on November 30, while Raipur will play host to the second ODI on December 3.
The final one-dayer will be in Visakhapatnam on December 6.
The first T20I will be played on December 9, followed by matches on December 11, 14, 17 and 19.
Women's ODI WC schedule
India will host the ICC Women's ODI World Cup this year, tentatively in September.
"The dates are yet to be decided. But Vizag is set to host the opening match and the other venues are Guwahati, Mullanpur (Punjab), Thiruvananthapuram and Indore. The venue for the final is yet to be decided," added Shukla.