Other services, for advanced use
Connect a service Divvent has no ready-made connection for, by its web address and a key or a sign-in, or exchange signed messages with another system by webhook.
Stripe, Slack, Google, Twilio and email have ready-made connections (see Connect other services). If you use something else, such as a booking site, an accounts package or your own system, your application can still talk to it, as long as that service can be reached over the web. This page is for whoever looks after that side of your business, or the person at the other service who will help you set it up.
Connect any service that has a web address
Ask for it on Changes, and be specific. Say which service, what should happen, and what should be sent. For example:
- "When a job is completed, add the customer to our mailing list service, sending only their name and email address."
- "When a client books, look up their loyalty points in our loyalty service and show them on the booking."
Divvent's AI proposes an integration that lists:
- every web address it may reach, which must be a secure address (starting https) with a public name. Addresses on a private network are refused;
- each thing it can do, one request to the service each;
- exactly which details each one sends. The change says this in words, and your application refuses to send anything else;
- what comes back, and which fields on your record it fills in.
If the service you name is one Divvent already has a ready-made connection for, you are told to use that instead.
Because it sends your data somewhere new, our team checks this change as well as you. Our team also checks any later change that adds a web address, sends more, or changes how it signs in.
How it signs in to the service
The service decides this, and the Integrations tab asks for what it needs:
| The service uses | You are asked for |
|---|---|
| Nothing | Nothing |
| An API key | API key |
| A bearer token | Access token |
| A username and password | Username and Password |
| OAuth, signing in as your business | Client ID and Client secret, then you press Sign in to … to connect |
You paste each one on the Integrations tab and release. Like every key, it is sealed when you save it and nobody can read it back. With OAuth, what the service gives your application is kept by your application and refreshed by it, never held by Divvent. Disconnect makes your application forget it.
Limits
You can ask for a limit on how often your application may call a service, per minute and per day, so a mistake can't use up your allowance there. Google and Twilio always have one.
Webhooks: signed messages to and from another system
A webhook is a message one system sends to another's web address when something happens. Your application can:
- send one: when somebody does something, such as completing an order, your application sends a message to the address you gave, naming the event and the record, signed so the other side knows it came from you. If the delivery fails it tries again, without sending it twice;
- receive one: another system sends a message to your application's own address, shown on the integration's card, and it updates the record it is about in the ways the change listed.
Both directions use one shared signing secret, which you paste on the Integrations tab. It must be at least 24 characters, with no spaces. A message that isn't signed with it is refused. Give the other system the same secret and, for messages coming in, the address from the card.
Ask for it the same way: "When an order is marked ready, send a webhook to our delivery company's system."
What you can't do yet
- Receive messages from a service connected by its web address. Only the webhook, Stripe and Twilio connections receive messages.
- Import a service's published description of its programming interface and have the connection made from it. Describe what you need instead.
- Code of your own that calls a service directly. Every request goes through your application's own rules above.
- Call a service from a flow. A service is reached when somebody does something in your application.
- Use a connection in a test copy. Keys and sign-ins are for production only.
- Remove a pasted key. You can replace it with a new one.