Fantastic, we use FreePBX, but most of the stuff we handle automatically.
It's our goal that you hardly ever need to see the FreePBX panel for 99% of what needs to be done, so a lot of work needs to be done in the integration aspects.
We use a mash of perl scripts which write necessary values to the MySQL database for asterisk, as well as create any needed configuration files on the fly.
If you have any questions, feel free to ask in other threads, and we can try to help you understand the system a bit better... It is a monster, and our dialplan is one of the most complex out there.