The moment it happens
Post new Attio deals to Slack as they're created
The moment a deal is added in Attio, #deals gets its name, value and owner.
- Runs
- The moment it happens
- Apps
- Attio
- AI
- Not needed
- Access
- read records, webhooks read-write
Send this to your assistant
Create a ClickRuntime automation: when a new deal is created in Attio, post the deal name, value and owner to #deals in Slack.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
In Attio, new companies and deals appear from many sources: a rep adds one after a call, an import loads a list, an email-sync creates a company from an unfamiliar sender, a form feeds in a lead. Nobody knows what has arrived unless they open the CRM and look. The account owner learns about a new inbound lead from a colleague who happened to see it, and a few days of silence follow a prospect's first interest.
When a record is created in Attio, Attio sends an event to ClickRuntime. ClickRuntime fetches the new company or deal and posts a Slack message with its name and key details and a link to open it. The message appears in the channel moments after the record is created.
Teams with automatic data capture, such as email sync and forms, benefit most because they cannot predict what will be created.
What you get out of it
Inbound leads get a quick first response
A new company appearing in Slack within seconds lets someone reach out while interest is high. Prospects often move on after a few hours without a reply. A prompt reply often decides whether the prospect stays interested.
Automatic captures stay under supervision
When email sync creates records on its own, the channel shows what it added. Junk or duplicate companies are noticed early and can be merged before they spread. Cleaning up one duplicate now saves a larger cleanup later.
The right owner is told right away
A new record reaches the people who should own it without the creator remembering to tag them. Assignment happens quickly rather than waiting for the next team meeting. Nobody waits for the next meeting to learn about it.
Activity becomes visible across the company
Marketing, sales and customer success can all see new records. Shared awareness reduces the awkward situation of two teams contacting the same new account separately. That prevents two teams contacting one new account.
Data entry habits improve
When reps see their new records posted for everyone, they tend to fill in the fields. Consistent records make later reporting and segmentation more dependable. Reports and segments built later are more dependable.
How it works
What happens, step by step
Each time a deal is added in Attio, Attio tells ClickRuntime straight away.
The automation looks up the deal's name, value and owner.
A message goes to #deals, like "New deal: Northwind pilot $18,000 (owner Morgan)".
Before it runs live
- Connect Attio
- Paste your automation's link into the other app's webhook settings
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Act only on the items that match your own rules, and skip the rest
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other Attio steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_event, credentials, http, notify
API = "https://api.attio.com/v2"
@on_event
def handle(event):
headers = {"Authorization": f"Bearer {credentials.secret('ATTIO_API_KEY')}"}
posted = 0
for ev in (event.json or {}).get("events", []):
if ev.get("event_type") != "record.created":
continue
ids = ev["id"]
rec = http.get(f"{API}/objects/{ids['object_id']}/records/{ids['record_id']}", headers=headers).json()["data"]
if rec["id"]["object_id"] != ids["object_id"] or "value" not in rec["values"]:
continue # only deals have a value attribute
v = rec["values"]
name = (v.get("name") or [{}])[0].get("value", "Untitled deal")
value = (v.get("value") or [{}])[0].get("currency_value", 0)
owner = (v.get("owner") or [{}])[0].get("referenced_actor_id", "")
member = http.get(f"{API}/workspace_members/{owner}", headers=headers).json()["data"] if owner else {}
notify.slack(f"New deal: *{name}* ${value:,} (owner {member.get('first_name', '-')})", channel="#deals")
posted += 1
return {"posted": posted}FAQ
Common questions
Which kinds of records can be announced?
Does it post records created through the API or import?
Can I include specific fields like deal value?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Get told when a deal moves stage in your Attio list
Whenever an entry in my pipeline list changes stage, Slack tells me which deal moved and where to.
See how it worksEmail a Friday list of new Attio records
Each Friday afternoon I get an email of the companies and deals added to Attio that week, grouped by type.
See how it worksPost new orders and sign-ups to Slack
When something happens in your shop, app or form, the details land in the right channel straight away.
See how it worksKeep exploring
Set up “Post new Attio deals to Slack as they're created” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
