Salesforce and JIRA Integration using Declarative Webhooks
0 views
Jul 17, 2025
With the power of Declarative Webhooks, you can build this integration using clicks, not code. Blog Post: https://www.infallibletechie.com/2025/07/salesforce-and-jira-integration-using-declarative-webhooks.html
View Video Transcript
0:05
Hello everyone. In this video, we are
0:07
going to see how to integrate Salesforce
0:11
and Jira application using declarative
0:16
web hooks.
0:18
The declarative web hooks is an app
0:20
exchange product which gives us a no
0:24
code solution for all kinds of
0:27
integrations.
0:29
using that app exchange package we are
0:31
going to see how to integrate between
0:34
Salesforce and Jira the use case
0:38
here is whenever a case record is
0:40
created I wanted to create a Jira ticket
0:45
and I'm going to achieve this using
0:47
declarative web hbooks without any
0:50
coding from my end as a system admin or
0:54
as a Salesforce delegated admin I will
0:57
be setting up the application creating
0:58
records in Salesforce, it will
1:00
automatically do the um
1:05
Apex class generation and from the flow
1:07
I will be invoking that Apex class which
1:10
will do the call out to Jira to create
1:13
the ticket.
1:15
The first step for this uh integration
1:20
is we have to install
1:24
declarative web books from the app
1:26
exchange. So I will share this blog post
1:29
in the video description. From the blog
1:32
post, you should be able to get the link
1:34
to the app exchange. So when you click
1:36
it, you should be able to click the get
1:38
it now button and then you should be
1:40
able to install it in your Salesforce
1:43
sandbox or or in your production or.
1:47
The next step is once it is installed,
1:51
we have to open declarative web hook
1:55
application. You will have declarative
1:58
web hooks, home, callout templates,
2:00
callout sequences and other tabs. In
2:03
this video, we are going to see the call
2:05
out templates.
2:08
Once uh you are on the callout templates
2:12
uh tab, you can click new or you can
2:15
make use of import template. Whenever
2:18
you use this import template, you should
2:20
have the extract from the postman.
2:25
Whenever we do integration, first we try
2:28
it with some rest API client and then we
2:31
will try it out. The very famous product
2:33
is Postman. So I have tried the same uh
2:37
uh API integration with the Jira from my
2:41
uh Postman. So from the Postman you can
2:45
ex click more and then you can click
2:47
export and then you should be able to
2:50
get the collection.
2:52
Once you export, you should be able to
2:54
import that exported file using the
2:58
import template. Also, when you click
3:00
new, you should be able to select import
3:04
a postman export file and then uh you
3:07
should be able to select the exported
3:08
file.
3:10
So the first step is we have to create
3:12
the
3:14
callout template. So this is the call
3:16
out template which I created by
3:19
exporting the file from the postman and
3:22
then making use of it here. Once you ex
3:26
import it or when you manually create
3:28
it, you will have a note that this
3:32
particular URL should be added in remote
3:34
site settings. So you have to go to
3:37
remote site
3:39
settings in Salesforce setup and then
3:41
you should add this particular URL.
3:47
This is the request body
3:50
here. Project ID is uh uh static
3:54
summary and for uh
3:58
description I'm making use of some
4:01
dynamic values. These two are input
4:05
parameters.
4:07
When we import the file, it will
4:10
automatically create the request body.
4:13
By default, it will have the default
4:14
value, but you should be able to edit it
4:16
and then you will be able to use the
4:19
input parameters.
4:22
Once this is done, you can click test
4:26
button on the callout template and then
4:29
you should be able to test it.
4:36
Since I am a system admin and uh I
4:40
wanted to avoid the proc code solution
4:41
of developing Apex classes, I can make
4:44
use of generate flow classes. Once I
4:48
click it, it will automatically create
4:50
the Apex class and also their respective
4:53
test classes for you when you when you
4:55
wanted to deploy it from your sandbox or
4:57
to your production or and then you
4:59
should be able to invoke that apex class
5:02
from your flow. So for that what I have
5:05
done is I created a record trigger flow
5:08
on the case object. So whenever a case
5:11
record is created
5:13
I have a async path.
5:19
So it will do actions and related. So in
5:22
the async path what I have done is 1
5:27
minute after the creation of case. So
5:30
when when the case is created after a
5:32
minute this particular async will uh be
5:36
executed. So here I'm invoking the apex
5:40
class and the method which was
5:42
autogenerated.
5:43
When we click this generate flow classes
5:48
so I'm invoking that apex class. In the
5:51
input parameters I have to pass
5:55
subject and description. These two are
5:58
the input parameters. In order to pass
6:01
that I created a formula
6:05
with and description equal to here it
6:08
will concatenate the case records
6:10
description
6:12
and and it will concatenate and subject
6:16
equal to and then it concatenates the
6:18
case records subject. So it will pass
6:21
the case record description and also the
6:25
case record subject here.
6:28
Next in the record id passing the case
6:32
ID. So if I create a case that
6:35
particular case record id will be passed
6:37
to this record id.
6:41
So whenever a case record is created it
6:44
will invoke
6:46
this um apex class which in turn will do
6:50
this post to this URL with this body.
6:57
it will when when when we imported the
6:59
file, it will automatically creates the
7:01
header.
7:02
Okay,
7:05
let's uh test it.
7:08
So as of now, if I go to my Jira, I
7:11
don't have any open tickets.
7:15
I'm going to
7:18
clone this case so that it will create a
7:21
case record.
7:23
So I'm going to say demo version one
7:26
testing version one. So when I if I
7:31
click save here
7:33
it will invoke this uh record flow and
7:37
then it will invoke this apex class
7:38
which will do the call out
7:41
to create a G radicate. Let's test that.
7:44
So I'm going to save it.
7:48
We have to wait for a minute because as
7:52
per the async in the flow
7:56
this particular async path will be
8:01
executed after a minute of case
8:04
creation. If you wanted to verify you
8:07
can go to
8:10
time based automations under monitoring
8:16
and then you should be able to see. So
8:19
it is saying that
8:21
16 16th July 2025 at 10:35 p.m. it will
8:27
get executed. So let's search it again
8:29
and see whether it is still there.
8:38
Okay, it is still there. So we have to
8:40
wait so that it gets executed.
8:44
When this gets executed,
8:46
it will invoke the apex class
8:49
which will invoke uh this callout
8:52
template to create a G radicate.
9:00
As of now, I haven't
9:02
developed a single piece of uh um single
9:06
line of code uh in Apex. Everything was
9:09
automated using
9:12
declarative web hooks.
9:15
Now let's again check it out.
9:19
Okay. So I don't have any in my uh back
9:22
end to get executed. So definitely it it
9:25
should have created a ticket in Jira.
9:27
Okay. So we are able to see that demo v1
9:30
is the subject and testing case v1 is
9:33
the description.
9:36
So without any
9:39
development
9:41
of Apex code, I was able to seamlessly
9:44
integrate Salesforce and Jira using
9:48
declarative web hooks.
9:57
Please check the video description. In
9:59
the video description, I have given my
10:01
blog post. From the blog post, you
10:04
should be able to get all the steps
10:06
which we discussed in this video with
10:10
the screenshots also as for your
10:12
reference
10:13
and the sample formula which we used it
10:16
to pass the input parameters
10:20
and also I have shared the guide using
10:24
which you should be able to further
10:28
expand your use cases using declarative
10:31
web hook. books.
10:47
I hope it was helpful.
10:53
Thank you for watching.
#Internet Software