Incoming mail is controlled by MX records in DNS.
For example, IPS also uses Google for receiving email:
admin@localhost ~ % dig invisioncommunity.com MX
; <<>> DiG 9.10.6 <<>> invisioncommunity.com MX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3130
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;invisioncommunity.com. IN MX
;; ANSWER SECTION:
invisioncommunity.com. 300 IN MX 5 alt1.aspmx.l.google.com.
invisioncommunity.com. 300 IN MX 5 alt2.aspmx.l.google.com.
invisioncommunity.com. 300 IN MX 1 aspmx.l.google.com.
invisioncommunity.com. 300 IN MX 10 aspmx2.googlemail.com.
invisioncommunity.com. 300 IN MX 10 aspmx3.googlemail.com.
That routes inbound email to Google's various servers.
Now... for OUTBOUND email, you have to list both Google and Sendgrid in SPF/DKIMM.
In looking at the Invision SPF record, you see:
v=spf1 mx include:servers.mcsv.net include:_spf.google.com include:sendgrid.net include:mail.zendesk.com include:helpscoutemail.com -all
Each service provider needs to be included with an "include:" statement.
For DKIM records, you need to publish both Google and SendGrid's record via DNS as they instruct. And yes, you can have multiple DKIM records.
https://powerdmarc.com/multiple-dkim-records-on-email-domain/#:~:text=To publish multiple DKIM records,concatenated into your previous records.
When you say email from your server is blocked, I assume it's Sendgrid that is sending that email. Look up the email in the Sendgrid console and see what it says for the message. Why is the other mail server rejecting it? If it's a configuration with SPF/DKIM, it should say that. It might also simply be that you're using Sendgrid's shared IPs and they are being blacklisted. (In that case, you would need a dedicated sending IP from them.)