This is something I do for my 8 chickens on days that are 100+.
I wash and freeze a couple of solid landscaping blocks overnight. This chills them to -10 degrees for the following day.
At noon, on the day before the hottest day in the forecast, I place a gallon of iced water out for them with electrolytes and vitamins in it. This kind of primes their systems and provides some early relief on that day. I simply add ice to the waterer the following day at noon.
Then at 2 or 3pm (just before the hottest part of the day) on 100+ days, I set out the blocks in their favorite dustbath location. I place them about 8-10 inches apart to minimize squabbling.
They will sit on top and next to the blocks and scratch out the dirt to cool down.
The blocks, because they are solid, and were chilled for 12 hours to sub-zero temps, will stay cold for hours. The surface area of the blocks themselves will only remain below freezing for about 20-30 minutes. The for the next hour or so, they are anywhere between 40 and 50 degrees, and for the following two hours they are between 50 and 80 degrees.
By the time they aren't really cold enough to help, the temps are already starting to cool off to more reasonable temps.