I got a message back from the API team and you can do it with the API but it's just over my head...
Hey Corey,
Thanks for reaching out! Cool idea.
You can technically use either option, but jobberWebUri will likely be easier. It will give you a link formatted exactly the way you need.
Here's just a quick sample query of what this could look like:
query SampleQuery {
clients(first: 100) {
totalCount
nodes {
id
firstName
lastName
jobberWebUri
}
pageInfo {
endCursor
hasNextPage
}
}
}
It will return something like this:
The other option is to use id: EncodedId! (a unique identifier) which should work for your needs as well, but it’s a bit more complex. If you query for it, you’ll get something like this: Z2lkOi8vSm9iYmVyL0NsaWVudC80ODYyMjY3Mw==. (As seen in the above screenshot too)
This is Base64-encoded, and when you decode it, you’ll see something like this: gid://Jobber/Client/48622673. While it matches what you’re looking for, it’s not as clean as jobberWebUri.
Another option could be using Zapier for this process, especially for new clients.
For example:
- New client created in Jobber → Decode Base64 → Add client to Google Contacts with a note linking to the client URL.
Of course, the best approach depends on your specific use case.
Let me know if you have further questions!
Cheers,
Tom @ Jobber