This doc is meant to represent all the key data that you need for operating a small agency. You can manage your customers via CRM, navigate potential deals via pipeline, make projects from deals that you’ve won, and add vendors for the job that should be done. You also can prepare the invoices in both directions and see the budget balance for the projects.
Company & Contacts
The basic concept of every CRM is a Contact. In most cases, you can combine contacts into a group and in agency business it's rarely the case to work with individuals, so we will use the entity called
. Each company consists of a list of contacts, plus the common information, like title, address, etc.
Via this doc, you can create Companies and Contacts, add and edit the related data. For the sake of usability, I've decided to use Card View to
. I'll use this pattern a lot as we go.
Deals & Activities
The other pretty straightforward concept for every sale is a
. The deal is related to the Company and the key data for every deal is a description of services, budget, and the status of the deal. Deals are usually pushed through the sales funnel (aka the pipeline) and the best way for users to work with it is by having all the deals in one
In order to keep track of every interaction with the client and don't forget to follow up with them on time, I've added an entity called
. You can add as many activities per deal and you'll be sure that everything goes according to the plan.
Projects & Jobs
When you think you've closed the deal, you can move the deal into the 'Won' state and from there you can convert it into the
. The project is a core concept of every service provider — every set of tasks that help you move towards one goal is a project.
In the agency business, the Project usually consists of different entities, that are too big to be called "tasks", and too vague to be called "modules". In our agency we have decided to name them
Basically, the sum of every job on a project is equal to the project itself. Every job has its own status, its own description, and budget.
Vendors & Services
Okay, you have your project and you already decompose it into the jobs and approved the budget for each job with the client. Now what? You need to delegate the actual work for someone else — and here comes the
. Every vendor has different skills, price range, and quality level, so you can choose the one who will fit better just right for each job. Sometimes though you need more than one vendor to implement everything the job required, so you can assign as many vendors as you want. Just remember, we still need to make money out of every job entity, so you need to keep track of the job's budget. This doc will keep it for you and even highlight the job if the vendor's budget is bigger than the actual job's budget.
Each "vendor to job" assignment is called
. It has its own state, price and you can use comments to track additional info if you need to.
Last but not least is the invoices. We do need to get money from the customer and we should pay our great vendors. To be sure that we didn't forget about it, we can use
. They both are essentially the same, with the small difference: who gets paid and for what. In one case you will be receiving money for the Job(s) and in the other, you will be paying money for the service(s) to your vendors. In both cases, though you can choose multiple jobs/services to include in one invoice.
I've made two automation so far:
Adding the Slack channel right when the new Project is created. It helps a lot with our work to have a dedicated channel for each project with the team of people that working on it.
The notification to check the list of invoices and to make sure that everything is paid on time. In the future, it makes sense to create the email notification, but the Coda notification will work for now.
There’s still a lot of things that can be automated, but I usually prefer to start small and extend from there.
In order to keep the doc looking nice and clean, I've kept all the back-office on the separate
page which is hidden. I also kept there a
to adjust the document experience to your needs. In the future, the list of options will be extended and for now it is just absolute minimum needed for running the doc properly.