- Triggers start a Zap the moment something happens in Notifuse — a contact is created or updated, someone subscribes to or unsubscribes from a list, a contact enters or leaves a segment. They are real-time, not polled: Notifuse pushes each event to Zapier as it happens.
- Actions let another app reach into Notifuse. The one most people come for is sending: a Zap picks one of your transactional notifications and Notifuse sends it, using your template, your sender and your email provider. Actions can also create or update a contact, or subscribe a contact to a list.
Before You Start
You need two things from Notifuse — an API key and your API URL — and connecting Zapier under Settings → Integrations hands you both. You also need HTTPS. Zapier only talks to endpoints served over HTTPS with a certificate issued by a public certificate authority, so a self-hosted instance has to be reachable from the public internet.Step 1 — Connect Zapier
Open Settings → Integrations in the workspace you want Zapier to work in. Zapier sits at the bottom of the list of available connectors; on a workspace that already has an integration of any kind, that list is not shown and Zapier is under the Add Integration button instead. Either way, choose Zapier. Only the workspace owner can connect it. You are asked for one thing: a label. It names the connection in Notifuse, and nothing else depends on what you type — a workspace can hold several Zapier connections, so use the label to say what each one is for. “Zapier” is filled in for you and is fine if you only need one. Click Connect Zapier. Notifuse mints an API key with exactly the permissions this integration needs and nothing else: Transactional, Webhook Subscriptions, Contacts and Lists read and write, plus Segments read. There is nothing to tick — the grant is chosen for you. Take Transactional seriously before you connect. It is what lets a Zap send, and it reaches further than that: it also permits creating, editing and deleting transactional notifications, testing templates and providers, and relaying through the SMTP bridge. A leaked token could send mail through your provider, at your cost and against your sending reputation. It cannot read your message history. If a Zapier connection has no business sending, narrow the key to suit — see Managing the Connection Afterwards. The token is displayed once, in the panel that replaces the form. Copy it before you press Done — it cannot be retrieved afterwards, and no screen in Notifuse can show it to you again. The same panel prints the API URL you will need in Step 2, with a copy button beside it.The key’s address is derived from your label, not typed by you. Notifuse builds it as
zapier-<label>-<random>, lowercasing your label and replacing anything that is not a letter, digit or underscore with a dash — or just zapier-<random> if you kept the default. API key addresses are unique across your whole Notifuse installation rather than per workspace, which is what the random part is for: two workspaces can both connect a “Marketing” Zapier without clashing, and you never have to pick a name that is still free. The connect panel names the address it landed on, and the connection’s card shows it afterwards — that is how you match a card to its row in Settings → Team.Or create the key by hand. Settings → Team → Create API Key works too, and it is where you grant the permissions yourself — see the table below for what to tick. A key built that way is an ordinary API key: it is attached to no connection, so no card appears under Settings → Integrations, and removing its row from Settings → Team is the only thing that revokes it. Give Zapier its own key rather than reusing an existing one. See Admins & API Keys for the full permission reference.
What the Key Can Do
This is a reference, not a checklist: connecting Zapier grants all of it for you. Read it to know what the token in Zapier’s hands can reach — or to know what to tick if you are building the key by hand from Settings → Team, or narrowing one afterwards.Read is what fills the dropdowns; write is what performs the step. Every picker in this integration reads the things you choose from, so an action that only writes still cannot be configured. A key with Lists write but not Lists read makes the Subscribe Contact to List step impossible to save: its list picker answers with a permission error, and the list is a required field.Contacts read is needed by every trigger too, not only the contact ones: the sample records Zapier shows while you build a Zap are read from your contacts whichever trigger you picked. A key without it fills its dropdowns but fails on Test trigger.
Step 2 — Your API URL
Zapier’s connection form has an API URL field, and the Connect Zapier panel prints the value to put in it — both before you connect and beside the token afterwards.- Notifuse Cloud: the field arrives pre-filled with the Cloud API,
https://v3.notifuse.com. Leave it as it is. - Self-hosted: paste the address the panel prints — the same address you open the Notifuse console at, scheme and domain only, with nothing after the domain and no trailing slash. Do not clear the field: an empty API URL means Notifuse Cloud, not “this instance”.
Step 3 — Connect Your Workspace
In Zapier, create a Zap, search for Notifuse, and choose a trigger or action. When Zapier asks you to connect an account, paste the API key and — if you self-host — your API URL. Every Notifuse trigger and action then asks which workspace to use, from a dropdown.A Zapier connection covers one workspace. A Notifuse API key belongs to exactly one workspace, so the workspace dropdown will only ever offer that one and selects it for you. If you run several workspaces, connect Zapier from Settings → Integrations in each one and add a separate Zapier connection for each — Zapier labels connections with the workspace name and the host they live on, so they are easy to tell apart.
Managing the Connection Afterwards
The connection appears as a card under Settings → Integrations, showing your label, the address of the key it minted, and when it was connected. Two things you can do to it, and they are not equivalent:- Renaming it changes the label on the card and nothing else. The key keeps the address it was minted under, so the card’s name and the address can disagree afterwards — the card shows both for exactly that reason. Nothing has to be re-entered in Zapier.
- Deleting it revokes the key. Every Zap using that key stops working the moment you confirm, and there is no way back: a revoked key cannot be restored, and reconnecting mints a different one you must paste into Zapier. Deleting the workspace revokes its Zapier keys the same way.
Triggers
List and segment triggers let you pick a specific list or segment. Do pick one: Notifuse then sends Zapier only the events for that list or segment instead of every list in the workspace, which keeps your Zap’s task usage down and your instance faster.
New List Subscriber Covers Three Ways In
A contact can become an active subscriber of a list in more than one way, and only the first one is a plain new subscription:- They subscribe for the first time.
- They confirm a double opt-in subscription that was waiting for confirmation.
- They resubscribe after previously unsubscribing, bouncing or reporting spam.
Updated Contact Ignores No-Op Saves
Updated Contact fires only when a contact’s details actually change. Saving a contact without changing anything, or a background job touching a record, produces no event. This is deliberate — otherwise routine internal updates would run your Zaps.Zapier Manages Its Own Webhook Subscriptions
Turning a Notifuse Zap on creates a subscription under Settings → Webhooks, marked as created by Zapier. Turning the Zap off removes it. A delivery that fails is retried, so a Zap can occasionally run twice for the same event. If your Zap does something that must not happen twice — charging a card, sending a message — add a Zapier filter or a deduplication step.Actions
All three actions match on the email address, so re-running them with the same address updates the same contact rather than creating a duplicate.
Notifuse’s custom contact fields appear in these actions under the labels you gave them. Name your custom fields in Settings → Custom Fields first — unlabelled slots are hidden, so a field you cannot find in Zapier is usually a field with no label yet.
Sending Is About Choosing, Not Composing
Send Transactional Email does not carry your email. The template, the sender, the tracking and the unsubscribe handling all stay in Notifuse — the Zap chooses which notification to send, who receives it, and the values its template renders with. So the shape of the step is: pick a Notification from the dropdown, map an Email for the recipient, and fill Template Data with one row per{{ variable }} your template uses. A variable you do not supply renders empty rather than failing, so if an email arrives with a gap in it, that row is the first place to look — check the spelling against the template.
Two details about Template Data are worth knowing before you debug something strange:
- Values arrive as text. A template that prints a value is fine. A template that compares one —
{% if total > 100 %}— will not match, because it is comparing against the text"120"rather than the number. contactandnotification_center_urlare set by Notifuse and cannot be overridden from the Zap. Rows with those names are ignored.
Sending Also Writes the Contact
A send creates the contact if the address is new. That is usually what you want — you can email someone the first time they order without a separate step. The part that surprises people is that any contact field you fill in overwrites what is stored. If you map First Name from a source that is sometimes blank, you will blank the stored first name on those runs. Leave a field empty in the Zap and Notifuse leaves the stored value alone; map a field and its value wins. If you only want to send, fill in nothing but the email address.Use Message External ID for Anything That Must Not Be Sent Twice
Zapier retries a step that failed, and a retry runs the whole action again. For a shipping notification that is a minor annoyance; for a password reset or an order confirmation it is a real problem. Fill Message External ID with something stable from the trigger — an order number, an invoice id, the source record’s id. Sending again with a value Notifuse has already seen returns the original message instead of sending a second email. Leave it blank and every run sends. One limitation to be aware of: the step cannot tell you which of the two happened. A deduplicated send and a fresh send look identical in Zap History, both succeeding with the same message id.Subscription Status Is Not Always Active
This is the behaviour most likely to look like a bug when it is not. Subscribe Contact to List returns the resulting status for every list, and it is not alwaysactive:
- A contact who previously unsubscribed comes back as
pending, notactive, and receives the list’s confirmation email. Notifuse forces double opt-in for anyone who has opted out before, whatever the list’s own settings say. This is a compliance rule and it cannot be switched off. The Zap did not fail — the contact simply has to confirm before they receive anything. Note that a list with no double opt-in template configured has no confirmation email to send, so those contacts staypendingindefinitely: set one up before pointing a re-engagement Zap at a list. - A brand-new contact lands
activeeven on a double opt-in list, and receives no confirmation email, because the request came from an authenticated API key rather than from a public subscription form.
- An address that has bounced or reported spam is not resubscribed, deliberately — it comes back reported with its terminal status,
bouncedorcomplained. A Filter step keyed on Status sees it. - A contact already active on the list is left alone. Re-running the Zap changes nothing, and the membership comes back as
active. - An address at a disposable email domain is dropped silently. This is the only case with nothing to report: the step succeeds with no memberships at all and a blank Status. Nothing was written — not the membership, and not the contact.
Filter on the status value, not on the status existing. Continue if Status exists passes a bounced address just as happily as an active one — both carry a status — and stops only the disposable-domain case. A filter that means “the contact is now subscribed” should check that Status is
active, or that Memberships is not empty if you are subscribing to several lists at once.Troubleshooting
The connection test fails
- Check the API URL: it must start with
https://and contain no path after the domain. The connect panel printed the exact value, and reopening the card only offers the label — so if you no longer have it, take the scheme and domain of the address you open the Notifuse console at and drop everything after the domain. - Open
https://your-domain/api/workspaces.listin a browser. An authentication error is the expected answer and proves the address is reachable; a timeout, a connection error or a certificate warning means Zapier cannot reach it either. - Check the certificate is issued by a public certificate authority, not a self-signed or internal one.
- If the key was revoked in Notifuse — by deleting the Zapier connection, or by removing its row from Settings → Team — the connection stops working immediately. Zapier reports it as an authentication failure and offers to reconnect the account: connect Zapier again and paste the new token in.
A step fails with a permission error
The message names the missing permission. Add it to the key from Settings → Team; the change takes effect on the next request and the token stays the same. Do not connect Zapier a second time to fix this — a fresh connection mints a key with the same standard grant, and the step fails in the same place. One case has a known cause. If Send Transactional Email fails on Transactional, or its notification picker is empty and reports a permission error, the connection predates Notifuse 39.1 — the release that added sending to the standard grant. Tick Transactional read and write on the key in Settings → Team and the step works on its next run, with no reconnection and no change to the token.A Zap stopped receiving events
Open Settings → Webhooks in Notifuse and look at the subscription for that Zap:- Switched off with a reason attached. Notifuse disables a subscription automatically after a long run of failed deliveries and records why. Turn it back on once the cause is resolved — or, easier, turn the Zap off and on again in Zapier to recreate it.
- Missing entirely. Someone deleted it by hand, or the Zap was turned off. Turn the Zap off and on again.
The trigger test finds no data
Zapier looks for recent matching activity to build its sample. If a list has had no subscribers recently, or a segment no new members, there is nothing to show. Create a test contact, subscribe it to the list, and re-run the test.Limitations
- A connection covers one workspace. Several workspaces means several connections.
- Contact deletions do not trigger a Zap, and neither do broadcast or automation events.
- There is no search step yet — you cannot look a contact up mid-Zap without an action that writes.
- Custom fields must be labelled to appear in an action.
- A send cannot carry attachments. The API accepts them, but Zapier hands a step a reference to a file rather than the file itself, so there is nothing to attach.
- A send cannot compose an email. It sends a notification you configured in Notifuse; it cannot supply its own body. You can override the subject, preview text, sender name and reply-to for one message.
Related Documentation
- Admins & API Keys — what each permission allows
- Webhooks — the event types and payloads behind the triggers
- Contacts
- Lists
- Segments
