Yes, it's possible.
First thing: import IERC20 smart contract in your contract
You declare the address: address public toSend;
You approve the address to spend tokens using approve function:
function approve(address spender, uint256 amount) public virtual override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
and call it like that:
approve(toSend, amount);
Send the tokens using transfer function
function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
you will call it transfer(toSend, amount)
P.s. If you want ot do that from a web interface please check ether.js documentation