Assist is a Normal-type move. It chooses a random move known by one of the user's teammates (including fainted Pokémon) and uses that move. A move called up by Assist counts as the last move used. A Pokémon will be able to use a move that is Disabled in its own moveset if called via Assist. If there are no moves that can be called in the party, the move will fail.
It cannot call itself or the following moves:
Pokémon that learn Assist
By leveling up