A sink is a node in a sensor network that functions as a gateway, and it gathers data from other nodes and sends the data over the Internet for further processing. However, a single sink cannot meet the demands of a sensor network for the Internet of Things (IoT) with heavy traffic. Although deploying multiple sinks can improve scalability and mitigate bottleneck problems, it is still challenging to use multiple sinks while keeping energy consumption down. Previous studies have addressed this issue using optimization techniques based on the assumption that the network converges to a steady state in terms of traffic load. We take a practical approach based on real-time changes in traffic load. This work introduces the concept of dynamic sinks, a sensor device that can serve as an on-demand sink. We identify suitable metrics for decision mechanisms to activate/deactivate dynamic sinks and investigate three decision schemes, namely autonomous, delegated, and centralized schemes. We also develop a protocol to disseminate the decisions. As a proof-of-concept, the dynamic sink protocol is implemented in Contiki. We evaluate trade-offs between packet delivery ratio (PDR) and energy consumption using emulated devices in the Cooja network simulator. The results show that setups with dynamic sinks can reduce energy consumption considerably at the expense of slightly lower PDR when compared to a setup with multiple permanent sinks.