gmail.mdx 1.6 KB

1234567891011121314151617181920212223242526272829303132333435
  1. ---
  2. title: '📬 Gmail'
  3. ---
  4. To use GmailLoader you must install the extra dependencies with `pip install --upgrade embedchain[gmail]`.
  5. The `source` must be a valid Gmail search query, you can refer `https://support.google.com/mail/answer/7190?hl=en` to build a query.
  6. To load Gmail messages, you MUST use the data_type as `gmail`. Otherwise the source will be detected as simple `text`.
  7. To use this you need to save `credentials.json` in the directory from where you will run the loader. Follow these steps to get the credentials
  8. 1. Go to the [Google Cloud Console](https://console.cloud.google.com/apis/credentials).
  9. 2. Create a project if you don't have one already.
  10. 3. Create an `OAuth Consent Screen` in the project. You may need to select the `external` option.
  11. 4. Make sure the consent screen is published.
  12. 5. Enable the [Gmail API](https://console.cloud.google.com/apis/api/gmail.googleapis.com)
  13. 6. Create credentials from the `Credentials` tab.
  14. 7. Select the type `OAuth Client ID`.
  15. 8. Choose the application type `Web application`. As a name you can choose `embedchain` or any other name as per your use case.
  16. 9. Add an authorized redirect URI for `http://localhost:8080/`.
  17. 10. You can leave everything else at default, finish the creation.
  18. 11. When you are done, a modal opens where you can download the details in `json` format.
  19. 12. Put the `.json` file in your current directory and rename it to `credentials.json`
  20. ```python
  21. import os
  22. from embedchain.apps.app import App
  23. from embedchain.models.data_type import DataType
  24. app = App()
  25. query = "to: me label:inbox"
  26. app.add(query, data_type=DataType.GMAIL)
  27. app.query("Summarize my email conversations")
  28. ```