Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mishushakov/dialogflow-sendgrid
📮 Dialogflow + Sendgrid = AI Mailbox
https://github.com/mishushakov/dialogflow-sendgrid
chatbot dialogflow dialogflow-v2 email sendgrid
Last synced: 9 days ago
JSON representation
📮 Dialogflow + Sendgrid = AI Mailbox
- Host: GitHub
- URL: https://github.com/mishushakov/dialogflow-sendgrid
- Owner: mishushakov
- License: agpl-3.0
- Created: 2020-01-06T11:54:45.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-06-05T14:03:19.000Z (over 4 years ago)
- Last Synced: 2025-01-17T05:52:03.077Z (14 days ago)
- Topics: chatbot, dialogflow, dialogflow-v2, email, sendgrid
- Language: Python
- Homepage:
- Size: 43 KB
- Stars: 35
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Dialogflow Sendgrid
Mail your Dialogflow Agents with Sendgrid
For features and drawbacks, see the [original repo](https://github.com/mishushakov/dialogflow-inbox)
## Schema
![](https://i.imgur.com/CgnAVrU.png)
## Setup
### Preparation
1. Connect your Agents to a Dialogflow Gateway implementation ([more here](https://github.com/mishushakov/dialogflow-gateway-docs))
2. [Make a SendGrid account](https://app.sendgrid.com/login)
3. Visit "Settings" > "Sender Authentication" and "Authenticate Your Domain":![](https://i.imgur.com/lYuGzes.png)
4. Verify your DNS records:
![](https://i.imgur.com/fZMNRGW.png)
5. Go to "API Keys" and generate API Key with full access to "Mail Send":
![](https://i.imgur.com/02UDY86.png)
6. Install Dialogflow Sendgrid (below) and add "Inbound Parse" entry in "Settings" with following options:
![](https://i.imgur.com/yhB0b5H.png)
- Receiving Domain: your domain
- Destination URL: endpoint to Dialogflow Sendgrid
- Check incoming emails for spam: up to you
- POST the raw, full MIME message: yes (check)### Installation
#### Kubernetes
See [k8s](k8s) for examples
#### Manual
1. Python should be installed on the target
2. Install the requirements with `pip install -r requirements.txt`
3. Run `python inbox.py`### Configuration
| Environment Variable | Description | Value |
|----------------------|---------------------------------------------------------------|------------------------------|
| INBOX_USER | Sendgrid user | apikey |
| INBOX_PASSWORD | Sendgrid API Key | - |
| INBOX_HOST | SMTP and IMAP server hostname | smtp.sendgrid.net |
| FALLBACK_LANG | Fallback language if language detection fails | en |
| CATCHALL | Catch-all address | - |
| ENDPOINT | Dialogflow Gateway Endpoint. `*` for wildcard | https://*.core.ushaflow.io |
| DEBUG | Debug mode | true |
| PORT | Listen on port | 5000 |### Testing
Send a test mail to a agent in the following format: your-google-cloud-project-id@yourdomain