In some cases, you may need to create multiple GCP projects to use Dialogflow:
- You may find it useful to create one project for authentication/quotas/billing and additional projects for agent data.
Consumer and resource projects
When you make calls to the API, you typically provide service account keys for authentication. Each service account is owned by a specific project, but service accounts may be provided roles to access resources for other projects The project associated with the service account you provide for an API call is referred to as the consumer project.
When you make calls to the API, your request specifies the agent's project. This project is referred to as the resource project.
One project can play the role of both consumer and resource project. Agent data, charges, and quotas are associated only with this project.
When consumer and resource projects are two different projects, charges, quota constraints, agent information, and a requirement to enable the API are applicable to either or both projects. The following table shows the association for an API call with two projects:
|Description||Consumer project (service account project)||Resource project (agent project)||Notes|
|Project that charges are incurred for||✔|
|Project that is bound to quotas||✔|
|Project that contains all agent data||✔|
|Projects for which you must enable the Dialogflow API||✔||✔||Note that both projects must enable the Dialogflow API.|